2012-11-03 5 views
0

HTTP POST 오류 400 오류 요청을 반환합니다, 이것은 내 코드입니다, 내가 잘못 가고있는 것을 볼 수 있습니까? URL과 관련이있는 것 같습니까?HTTP POST 반환 오류 400 나쁜 요청 asp.net C#

System.Collections.Specialized.NameValueCollection data = new System.Collections.Specialized.NameValueCollection(); 
     data["var1"] = source1; 
     data["var2"] = source2; 
     data["var3"] = source3; 


    // HTTP post and redirect the values 
    string str2 = string.Empty; 

    System.Text.StringBuilder builder = new System.Text.StringBuilder(); 

    foreach (string str3 in data.AllKeys) 
    { 
     builder.Append(str2); 
     builder.Append(HttpUtility.UrlEncode(str3)); 
     builder.Append("="); 
     builder.Append(HttpUtility.UrlEncode(data[str3])); 
     str2 = "&"; 
    } 

    //Make a request 
    string path = Request.Url.AbsoluteUri; 
    string url = path + Target + builder; 
    url = "http://localhost:1541/test/var1=SELEZIONA&var2=SELEZIONA&var3=SELEZIONA"; 
    WebRequest request = WebRequest.Create(url); 
    request.Method = "POST"; 
    request.ContentType = "application/x-www-form-urlencoded"; 

    //Put the post data into the request 
    byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(builder.ToString()); 

    request.ContentLength = byteArray.Length; 
    Stream reqStream = request.GetRequestStream(); 
    reqStream.Write(byteArray, 0, byteArray.Length); 
    reqStream.Close(); 

    //Get response 
    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); 
    response.Close(); 

실제 URL 내용을 url 변수에 넣어서 현재 보내려는 내용을 표시했습니다.

+0

바보 같은 질문입니다. 사이트가 실행 중이고 앱 풀이 시작 되었습니까? –

답변

0

쿼리 문자열을 분리하기 위해 URL에 물음표가 없습니다. 나는 그것이 이런 종류의 오류를 일으킬 수 있다고 생각합니다. 대신 다음을 시도하십시오 :

url = "http://localhost:1541/test/?var1=SELEZIONA&var2=SELEZIONA&var3=SELEZIONA"; 
+0

아 물론. http 게시물을 실행 한 후 페이지가 대상으로 리디렉션 되나요? 그것은 아직 아무것도하지 않는 것 같습니다. – PeteTheGreek

+0

@PeteTheGreek 글쎄, 당신은 그것이 무엇을 해야하는지 말해. 이 코드는 단순히 요청의 응답을 읽습니다. 다음에하는 일은 당신을위한 것입니다. –

+0

나는 뒤에서 코드를 다른 페이지로 보내기 위해 머리를 둥글게하려고한다.이 코드는 http 데이터를 보내거나 받는다. 고마워, 피트. – PeteTheGreek