马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 mosheng 于 2025-8-22 15:21 编辑
C#创建URL请求
窗口点击事件:
[C#] 查看源码 复制代码 private void btn_click(object sender, EventArgs e)
{
var btn = sender as Button;
var browser = BrowserList.data[0];
if (browser.IsValid && !browser.IsNULL())
{
if (btn == button1)//带浏览器环境发送URL请求
{
// 创建共享的URLEvent实例处理多个请求
URLEvent sharedCallback = new URLEvent();
// 订阅数据接收事件
sharedCallback.DataReceived += (flag, data) =>
{
this.Invoke(new Action(() =>
{
Console.WriteLine($"Flag {flag} 接收到数据: {data}");
MessageBox.Show($"请求 {flag} 接收到数据:\n{data}", $"请求结果 - Flag {flag}", MessageBoxButtons.OK, MessageBoxIcon.Information);
}));
};
// 订阅请求完成事件
sharedCallback.RequestCompleted += (flag) =>
{
this.Invoke(new Action(() =>
{
Console.WriteLine($"请求 {flag} 已完成");
}));
};
// 使用不同的flag来区分请求:1000, 1001, 1002
long requestFlag = _globalFlagCounter++;
string url = "https://ipapi.co/json/";
Console.WriteLine($"发起请求 Flag {requestFlag} 到 {url}");
FBroSharpRequest request = new FBroSharpRequest();
request.SetURL(url);
request.SetMethod("GET");
List<FBroSharpStringMap> headers = new List<FBroSharpStringMap>();
headers.Add(new FBroSharpStringMap
{
key = "User-Agent",
value = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
});
headers.Add(new FBroSharpStringMap
{
key = "accept",
value = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
});
request.SetHeaderMap_Array(headers);
browser.GetMainFrame().CreateURLRequest(request, sharedCallback, requestFlag);
}
if (btn == button2)//纯数据发送URL请求
{
// 创建共享的URLEvent实例处理多个请求
URLEvent sharedCallback = new URLEvent();
// 订阅数据接收事件
sharedCallback.DataReceived += (flag, data) =>
{
this.Invoke(new Action(() =>
{
Console.WriteLine($"Flag {flag} 接收到数据: {data}");
MessageBox.Show($"请求 {flag} 接收到数据:\n{data}", $"请求结果 - Flag {flag}", MessageBoxButtons.OK, MessageBoxIcon.Information);
}));
};
// 订阅请求完成事件
sharedCallback.RequestCompleted += (flag) =>
{
this.Invoke(new Action(() =>
{
Console.WriteLine($"请求 {flag} 已完成");
}));
};
// 使用不同的flag来区分请求:1000, 1001, 1002
long dataFlag = _globalFlagCounter++;
string url = "https://ipapi.co/json/";
Console.WriteLine($"发起请求 Flag {dataFlag} 到 {url}");
IFBroSharpRequest request = new FBroSharpRequest();
request.SetURL(url);
request.SetMethod("GET");
List<FBroSharpStringMap> headers = new List<FBroSharpStringMap>();
headers.Add(new FBroSharpStringMap
{
key = "User-Agent",
value = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
});
headers.Add(new FBroSharpStringMap
{
key = "accept",
value = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
});
request.SetHeaderMap_Array(headers);
FBroSharpURLRequest.Create(request, default, sharedCallback, dataFlag);
}
}
else
{
MessageBox.Show("请先创建浏览器环境");
}
}
URL事件回调代码:
|