2017-02-28 95 views
0

我需要从网站的REST api中提取数据,但我从来没有使用它,并且在一段时间后我再次回到编码中。但我需要让这个项目很快向前移动,并且不能为我的生活,弄清楚如何将这个C#/ JSON字符串转换成一个php等效脚本来轮询我需要的数据...将C#/ JSON转换为PHP脚本

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(address); 
httpWebRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}",UserName, Password)))); 

我想我需要使用卷曲来做这件事,但是,这已经很长时间了,而且我有点生疏。任何帮助是极大的赞赏。

回答

0

您可以继续尝试使用cUrl http://php.net/manual/en/book.curl.php,它用于使用不同于API的调用。

还有一个基于cUrl的库。 https://github.com/php-curl-class/php-curl-class和一些来自该网站的样本。

//For making a GET request 
$curl = new Curl(); 
$curl->get('https://www.example.com/'); 

//For making a POST request 
$curl = new Curl(); 
$curl->post('https://www.example.com/login/', array(
    'username' => 'myusername', 
    'password' => 'mypassword', 
)); 

//With custom headers 
$curl = new Curl(); 
$curl->setBasicAuthentication('username', 'password'); 
+0

这引起了我很多接近我所需要的,但我仍然有问题的用户名/密码编码。现在,我不得不在C#编译器中对密码进行编码,并将其编码到我的脚本中。如果任何人都可以弄清楚如何解决这个问题,我将非常感激。 –

0

与$ _GET简单方法[ '通'],$ _GET [ '用户']

WebClient webClient = new WebClient(); 
webClient.Encoding = Encoding.UTF8; 
response = webClient.DownloadString("https://example.com/code.php?pass=password&user=username"); 
Console.Write(response); 
+0

嗯... 1)不要在URL中传递密码,2)我需要将用户名+密码发送给别人的服务器,而不是我自己的,并且必须在发送到服务器的HEADER信息中实际上让我困惑) –

+0

服务器所有者可以看到你的标题,如果想要的话。对于你不信任托管或服务器提供商时使用的服务器:)这很愚蠢。您可以免费打开https://www.openshift.com vps(app)。 1)如果你安装ssl没关系。 – 2017-03-01 07:42:47