未找到帖子404的HTTP请求

时间:2016-05-11 07:04:10

标签: c# visual-studio httprequest

我使用了HTTP request with post的最佳答案 但是在visual studio中弹出一个错误,说找不到404远程服务器。

该网站存在,它是一个与我的路由器的IP地址绑定的rails应用程序。 在浏览器中使用以下URL更新rails应用程序中申请实体的属性。但是,使用c#app执行此操作无效。

http://<ADDRESS HERE>:3000/api/v1/applicants/update?id=2&door=true

我有ff:

using System.IO;
using System.Net;
using System.Text; 

我在btn点击

中使用了以下代码
private void button1_Click (object sender, EventArgs e){
    var request = (HttpWebRequest)WebRequest.Create("http://<ADDRESS HERE>:3000/api/v1/applicants/update");

    var postData = "id=2";
        postData += "&door=true";
    var data = Encoding.ASCII.GetBytes(postData);

    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = data.Length;

    using (var stream = request.GetRequestStream())
    {
        stream.Write(data, 0, data.Length);
    }

    var response = (HttpWebResponse)request.GetResponse();

    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}

1 个答案:

答案 0 :(得分:1)

您确定需要执行POST请求而不是GET请求吗?我问,因为你的问题似乎不一致。首先,你说你想要到达网址

http://<ADDRESS HERE>:3000/api/v1/applicants/update?id=2&door=true

这是一个带有查询字符串参数的网址,但在代码中您将查询字符串分开并将参数作为POST数据发送。

GET请求看起来像这样

GET http://<ADDRESS HERE>:3000/api/v1/applicants/update?id=2&door=true HTTP/1.1
Host: <ADDRESS HERE>
... (more headers)

POST请求:

POST http://<ADDRESS HERE>:3000/api/v1/applicants/update HTTP/1.1
Host: <ADDRESS HERE>
Content-type: application/x-www-form-urlencoded
... (more headers)

id=2&door=true