2016-05-10 61 views
0

我想向网络套件服务器发送POST请求。当我使用浏览器上的表单发送它时,它工作得很好。但是当我使用C#发送请求时,我得到“远程服务器返回错误:(404)Not Found。”能够从浏览器到服务器的POST表单,但不能到服务器的服务器

这里是我的C#代码隐藏邮编:

var request = (HttpWebRequest)WebRequest.Create("https://forms.netsuite.com/app/site/crm/externalleadpage.nl"); 

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(); //error is here. 

我几乎可以肯定,我通过发送相同的参数,因为它是一个简单的表格。

+0

安装fiddler并比较两个请求,然后您将看到不同。 http://www.telerik.com/fiddler – NineBerry

+2

您确定要使用Encoding.ASCII?所以你的数据中没有变音,重音字符等? – NineBerry

+0

您也可以尝试Postman,它是Google Chrome的扩展/应用 – TonyH

回答

0

添加一个模仿当前浏览器的用户代理头。这适用于Suitelets。

0

我想出了这个问题。 这是一个netsuite配置问题;重定向url被设置为/导致响应无法解析或为空。