2017-02-28 14 views
0

ウェブサイトのREST APIからデータを抽出する必要がありますが、これまで作業したことはありませんし、しばらくしてからもう一度コーディングに戻っています。しかし、私はこのプロジェクトを素早く順方向に動かす必要があります。私の人生では、このC#/ JSON文字列をPHP対応のスクリプトに変換して、必要なデータをポーリングする方法を見つけられません...PHPスクリプトへのC#/ JSON変換

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

あなたは先に進み、APIと異なる呼び出しを行うために使用されるcUrl http://php.net/manual/en/book.curl.phpを使用することができます。

このライブラリも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

Um ... 1)絶対にURLにパスワードを渡してください。2)自分のものではなく、他人のサーバーにユーザー名+パスワードを送信する必要があります。サーバーに送信されたHEADER情報に含まれている必要があります。実際に私を混乱させる) –

+0

必要に応じて、サーバーの所有者があなたのヘッダーを見ることができます。あなたがホスティングやサーバープロバイダを信用していないときにあなたが使用しているサーバーについては、それは愚かです。無料でhttps://www.openshift.com vps(app)を開くことができます。 1)sslをインストールしても問題はありません。 –

関連する問題