【发布时间】:2016-01-01 12:55:30
【问题描述】:
就像标题所说的那样,我试图通过发布到某个页面的方式提出请求。首先使用谷歌开发工具检查请求的参数,我可以弄清楚这一点(我不确定我是否将所有正确的参数都放在我的帖子字符串中 - 检查图像以获取更多信息)。我在 www 周围找到了很多示例,但没有人使用它,我不知道出了什么问题,我会像往常一样提供一些帮助:)。
请求标头
表单数据
这是我的代码:
string email = "xxxxx";
string password = "xxxxx";
string LOGIN_URL = "https://intranet.cibertec.edu.pe/LoginBolsa/LoginBolsaCIB.aspx";
CookieContainer cookies = new CookieContainer();
HttpWebRequest webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
webRequest.CookieContainer = cookies;
StreamReader responseReader = new StreamReader(
webRequest.GetResponse().GetResponseStream()
);
string responseData = responseReader.ReadToEnd();
responseReader.Close();
string postString = string.Format("ctl00$ContentPlaceHolder1$Login1$UserName={0}&ctl00$ContentPlaceHolder1$Login1$Password={1}&ctl00$ContentPlaceHolder1$Login1$LoginButton={2}&hdnOrigen={3}&hdnLinea={4}&Pagina_Principal={5}", email, password, "Ingresar", "bolsa", "I", "LoginBolsaCIB.aspx");
webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.CookieContainer = cookies;
StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(postString);
requestWriter.Close();
responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
responseData = responseReader.ReadToEnd();
responseReader.Close();
Response.Write(responseData);
【问题讨论】:
-
可能您从 Google 开发者工具发出的请求使用 SAME-ORIGIN 调用,但是当您执行代码时,存在不同的来源导致 SAME-ORIGIN 政策出现问题?
-
有一种方法可以设置原始策略或一些解决方法吗?
-
只有在您可以控制服务器端的情况下才能设置源策略。您能否说明您是否能够使用 Google 开发者工具成功发布 POST?
-
你的意思是,如果同源政策是真的或类似的东西,我无法通过其他网页发出请求?。
-
@DavidTansey ,我不知道如何使用开发人员工具提出请求,所以我关注了这个stackoverflow.com/questions/14248296/…,但是发生了错误“Uncaught SyntaxError: Unexpected string(...)”
标签: c# asp.net post webrequest