2017-11-02 37 views
0

パラメータを指定してリクエストを送信する際に問題があります。 (例では、パラメータは、秘密鍵に追加され、RestSharp - パラメータ付きのGETリクエスト

enter image description here

あなたが見ることができるように:どのようにそれはRestSharp中のようになります、私はPHPでリクエストを送信する例がありますが、私は把握することはできません私もやったことがあります)、また、このCURLOPT_POSTFIELDSにparamsも追加されています。 私はAddParameter、AddBody、AddJsonBodyでそれをやってみましたが、何も動作しません。パラメータを私有鍵に連結すると、レスポンスは常に空になりますが、それを削除するとレスポンスが返されますが、パラメータは無視されます。

 string data = "{\"Paging\":{\"per_page\":\"" + 10 + "\"}}"; 

     RestClient client = new RestClient("api"); 

     string header = "WMS " + publicKey + ":" + GetMd5Hash(privateKey + data); 

     IRestRequest request = new RestRequest("products", Method.GET); 
     request.AddHeader("Content-Type", "application/json; charset=utf-8"); 
     request.AddHeader("Authorization", header); 
     request.AddHeader("Content-Length", data.Length.ToString()); 

     //request.RequestFormat = RestSharp.DataFormat.Json; 
     request.AddParameter("Paging", new { per_page = 10 }); 

     IRestResponse response = client.Execute(request); 

     Encoding encoding = Encoding.GetEncoding("utf-8"); 
     var result = encoding.GetString(response.RawBytes); 

私はそのように見えたシオマネキや生の要求にPHPのリクエストを追跡することができました:

 
GET api HTTP/1.1 
Host: api 
Pragma: no-cache 
Accept: */* 
Authorization: WMS md5 
Content-type: application/json 
Content-Length: 27 

{"Paging":{"per_page":"8"}} 

と私はそのようになっています

 
GET api HTTP/1.1 
Authorization: WMS md5 
Content-Type: application/json 
Accept: */* 
User-Agent: RestSharp/105.2.3.0 
Host: api 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive 

パラメータが示されていませんなぜか、それを知らない。私はすべてのパラメータタイプを試しました。それ以外の私のヘッダー "Content-Length"は表示されません。 GETリクエストにパラメータを追加する

+1

[Fiddler](https://www.telerik.com/fiddler)を使用して、phpによって送信される実際のリクエストを記録します。 –

+0

Fiddlerはこのリクエストを登録していません。/ – Dess

+0

私はそれを追跡して質問を更新しました。 – Dess

答えて

0

は、単に使用して行われます。

request.AddParameter("name", "value"); 

私はあなたがおそらくJSON形式を混合、あなたのコード内の他の問題を抱えていると思うが、私たちは、実際あなたの詳細を持っていないとして、あなたが消費しているAPIは、私たちがそれを使って助言することができます。

例を簡略化してテストし、さらにエラーを示すように設定を追加することができます。基本的な例をここで確認してください。https://github.com/restsharp/RestSharp

+0

私が試した最初のことでした、それは動作しませんでした – Dess

関連する問題