簡體   English   中英

HTTP發布返回錯誤400錯誤請求asp.net C#

[英]Http post returns error 400 bad request asp.net c#

Http帖子返回錯誤400錯誤的請求,這是我的代碼,您能看到我要去哪里了嗎? 我猜這與網址有關嗎?

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變量中,以顯示當前正在嘗試發送的內容。

您在URL中缺少問號來分隔查詢字符串。 我猜可能會導致這種錯誤。 嘗試以下方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM