2012-03-05 8 views
0

DataIDとパスワードをHTTPヘッダーに追加するにはどうすればよいですか。下のようなものですか?DataIDとパスワードをHTTPヘッダーに追加するにはどうすればよいですか?

POST/serviceCall/HTTP/1.1
ホスト
のContent-Length 459
原点クロム拡張をMYHOST:// cokgbflfommojglbmbpenpphppikmonn
データID 25
パスワード
t123456のUser-AgentのMozilla/5.0
コンテンツタイプアプリケーション/ json
アクセプト/
アクセプトエンコーディングgzip、deflate、sdch
のAccept-言語EN-US、EN; Q = 0.8
のAccept-文字セットISO-8859-1、UTF-8; Q = 0.7、*; qは0.3

私はその複数を追加しようとしました= way

s_requestPath = "http://myServiceCall_URL"; 
WebRequest s_request = WebRequest.Create(s_requestPath); 

// 1st try 

      WebHeaderCollection myWebHeaderCollection = s_request.Headers; 
      myWebHeaderCollection.Add("DataID", dataID); 
      myWebHeaderCollection.Add("Password", registerViewModel.ConfirmPassword); 

//2nd try 
      //s_request.Credentials = new NetworkCredential(dataID , registerViewModel.ConfirmPassword); 

//3rd try 
      //s_request.Headers.Add(" DataID :" + dataID + ";"); 
      //s_request.Headers.Add("Password:" + registerViewModel.ConfirmPassword + ";"); 

//4th try 
      //s_request.Headers.Add(" DataID ", dataID + ";"); 
      //s_request.Headers.Add("Password", registerViewModel.ConfirmPassword + ";"); 


      using (StreamWriter s_writer = new StreamWriter(s_request.GetRequestStream())) 
      { 
       s_writer.Write(s_RegJson); //s_RegJson is json obeject that i am sending 
      } 
      string rtnJson = ""; 

      using (WebResponse s_response = s_request.GetResponse()) 
      { 

       using (Stream s_stream = s_response.GetResponseStream()) 
       { 
        using (StreamReader r_reader = new StreamReader(s_stream)) 
        { 
         while (!r_reader.EndOfStream) 
         { 
          rtnJson += r_reader.ReadLine(); 
         } 
        } 
       } 
      } 

答えて

0

application/jsonリクエストヘッダーを送信していないようです。このようにしてみてください。

var url = "http://myServiceCall_URL"; 
var serializer = new JavaScriptSerializer(); 
var request = WebRequest.Create(url); 
request.Method = "POST"; 
request.ContentType = "application/json"; 
request.Headers["DataID"] = "25"; 
request.Headers["Password"] = "t123456"; 
var requestJson = serializer.Serialize(new 
{ 
    Foo = "bar" 
}); 
request.ContentLength = requestJson.Length; 

using (var stream = request.GetRequestStream()) 
using (var writer = new StreamWriter(stream)) 
{ 
    writer.Write(requestJson); 
} 

using (var response = request.GetResponse()) 
using (var stream = response.GetResponseStream()) 
using (var reader = new StreamReader(stream)) 
{ 
    var responseJson = reader.ReadToEnd(); 
    var responseObj = serializer.DeserializeObject(responseJson); 
    // do something with the response 
} 
+0

私はこれを試してみましたが、私のヘッダは以下のようになります:ヘッダ= {Content-Typeの:アプリケーション/ JSON データID:63 パスワード:test123を}と私はFOREIGNと例外INSERT文が競合し得ますKEY制約 – seUser

+0

Darin、私もあなたのコードを試しましたが、リクエストヘッダは以前と同じように見えます。 – seUser

+0

@seUser、あなたが得ている例外は、それはいくつかのサーバー側の問題に関連していますか?いくつかのINSERT文と外部キーについて言及しているようです。これはクライアントと何が関係していますか? –

関連する問題