2013-08-22 5 views
0

웹 개발에 관해서는 매우 익숙합니다 ...다음 POST 데이터에서 HttpWebRequest 만들기

다음 사이트에서 몇 가지 코드와 설명을 발견했습니다. https://dev.twitter.com/docs/auth/implementing-sign-twitter

궁극적으로 트위터로 로그인을 구현하고 싶습니다. 하지만 POST 웹 요청을 C# HttpWebRequest 형식으로 다시 작성하는 데 문제가있어 다른 앱에서도 재사용 할 수 있습니다. 첫 번째 웹 요청을 검토하면 ...

POST /oauth/request_token HTTP/1.1 
User-Agent: themattharris' HTTP Client 
Host: api.twitter.com 
Accept: */* 
Authorization: 
    OAuth oauth_callback="http%3A%2F%2Flocalhost%2Fsign-in-with-twitter%2F", 
      oauth_consumer_key="cChZNFj6T5R0TigYB9yd1w", 
      oauth_nonce="ea9ec8429b68d6b77cd5600adbbb0456", 
      oauth_signature="F1Li3tvehgcraF8DMJ7OyxO4w9Y%3D", 
      oauth_signature_method="HMAC-SHA1", 
      oauth_timestamp="1318467427", 
      oauth_version="1.0" 

저는이를 작동하는 HttpWebRequest로 변환하려고합니다. 까지. 내 코드는 다음과 같습니다.

HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create("https://api.twitter.com/oauth/request_token"); 

     ASCIIEncoding encoding = new ASCIIEncoding(); 

     httpReq.Method = "POST"; 
     httpReq.ContentType = "application/x-www-form-urlencoded"; 
     httpReq.Accept = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 

이것은 불행히도 제가 얻은 것입니다.이 요청이 어떻게 작동하는지 모르겠습니다. 나머지 데이터를 포함하고 전화를해야합니다. 그러나 나는 붙어있다. 어떤 도움이라도 대단히 감사하겠습니다.

답변

1

이 시도 : 또한

ASCIIEncoding encoder = new ASCIIEncoding(); 
byte[] data = encoder.GetBytes(serializedObject); // the data you wanted to send 

HttpWebRequest request = new WebRequest.Create("https://api.twitter.com/oauth/request_token") as HttpWebRequest; 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 
request.ContentLength = data.Length; 

request.GetRequestCode().Write(data, 0, data.Length); 

가능한 dublicate (비슷한 질문) : Why I get 411 Length required error?

관련 문제