应用程序中未找到服务器 404 以从 api 读取数据但不传递参数它可以工作
Posted
技术标签:
【中文标题】应用程序中未找到服务器 404 以从 api 读取数据但不传递参数它可以工作【英文标题】:Server Not Found 404 in Application to read data from api But without passing parameters it works 【发布时间】:2014-05-12 13:11:43 【问题描述】:我还有一个与我正在研究的 api 相关的问题:p
我的问题是,当 url 全部传递时,我用来读取数据的应用程序运行良好,但如果我想传递通用 url + 参数,它不会......
带有完整 URL 的代码 私人无效 btn_Api_Click(对象发送者,EventArgs e)
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://MyIP/api/Employee/?FirstName=Jorge");
request.Method = "POST";
string postData = "";
byte[] data = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "application/json";
request.ContentLength = data.Length;
using (Stream requestStream = request.GetRequestStream())
requestStream.Write(data, 0, data.Length);
try
using (WebResponse response = request.GetResponse())
var responseValue = string.Empty;
// grab the response
using (var responseStream = response.GetResponseStream())
using (var reader = new StreamReader(responseStream))
responseValue = reader.ReadToEnd();
if (responseValue != "")
string _txtFileNew = @"C:\Users\Jorge.Leite\Documents\teste\" + txt_First.Text + ".txt"; //+txt_Last.Text + ".txt";
StreamWriter _srEannew = new StreamWriter(_txtFileNew);
_srEannew.WriteLine(responseValue);
_srEannew.Close();
catch (WebException ex)
// Handle error
后面带有 Url + 参数的代码 PS:postData 传递了正确的字符串 ("?FirstName=Jorge") Jorge 是输入名称
private void btn_Api_Click(object sender, EventArgs e)
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("MyIP/api/Employee/");
request.Method = "POST";
string postData = string.Format("?FirstName=" + txt_First.Text);
byte[] data = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "application/json";
request.ContentLength = data.Length;
使用此代码时出现异常服务器未找到 404
我真的不知道这是怎么回事:\
提前谢谢你
【问题讨论】:
【参考方案1】:使用 POST 方法的 Web API 不像使用 GET 方法那样流畅。
查看此其他链接以了解更多信息Reading FromUri and FromBody at the same time
【讨论】:
我着火了,我提出的所有问题都用简单的东西来解释。由于某种原因我现在不记得了,我从 post 方法中取出了 [FromBody],我更新并发布了它们,现在一切正常。上帝啊,我觉得整个下午都这么愚蠢,非常感谢。以上是关于应用程序中未找到服务器 404 以从 api 读取数据但不传递参数它可以工作的主要内容,如果未能解决你的问题,请参考以下文章
如何将不存在的数据页面重定向到 Codeigniter 中未找到的页面?
com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 未找到
如何设置凭据以从 GCE VM 命令行使用 Gmail API?