我使用了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();
}
答案 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