webbrowser 使用代理后,可以浏览网页但无法post数据?

dzjvb 2011-10-21 04:57:02
不设置代理时刻正常登陆,但设置代理后,点击登录就无法“无法显示该网页”


private void timer1_Tick(object sender, EventArgs e)
{
iii += 1;
webBrowser1.Navigate("http://www.dfdf.com/reg.aspx");
}
private void button3_Click(object sender, EventArgs e)
{
if (textBox4.Text.Trim() != String.Empty)
{
RefreshIESettings(textBox4.Text.ToString());
}
timer1.Interval = Convert.ToInt32(textBox3.Text);
timer1.Enabled = !timer1.Enabled;
button3.Text = timer1.Enabled ? "批量注册(webbrowser +timer)Y" : "批量注册(webbrowser +timer)X";
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if ((webBrowser1.Document.Url.ToString().Trim() == e.Url.ToString().Trim()) && iii < 12000)
{
try
{

HtmlDocument htmlDoc = webBrowser1.Document;
HtmlElement txt_Username = htmlDoc.All["txt_Username"];
HtmlElement txt_Password2 = htmlDoc.All["txt_Password2"];
HtmlElement txt_Password = htmlDoc.All["txt_Password"];


txt_Username.SetAttribute("value", textBox1.Text + iii.ToString());
txt_Password2.SetAttribute("value", "dfdfdf");
txt_Password.SetAttribute("value", "dfdfdf");
img_Submit.InvokeMember("click");
textBox2.Text = iii.ToString();
}
catch (Exception ex)
{
textBox2.Text = ex.Message;
}

}
}
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
人工智能算法 2011-10-22
  • 打赏
  • 举报
回复
使用的代理,不支持post数据转移.
这个问题出现在你ip代理那里.
dzjvb 2011-10-22
  • 打赏
  • 举报
回复
不是的,测试过自己的服务器,关掉防护后,还是一样
山东蓝鸟贵薪 2011-10-21
  • 打赏
  • 举报
回复
可能是防火墙设置了吧
dzjvb 2011-10-21
  • 打赏
  • 举报
回复
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

public void RefreshIESettings(string strProxy)
{

const int INTERNET_OPTION_PROXY = 38;
const int INTERNET_OPEN_TYPE_PROXY = 3;

Struct_INTERNET_PROXY_INFO struct_IPI;


struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy);
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local");

IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI));

Marshal.StructureToPtr(struct_IPI, intptrStruct, true);

bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));


}

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧