我正在使用HttpClient PostAsync将数据发送到URI。但是,以下代码没有按预期运行:
using (var client = new HttpClient())
{
var values = new Dictionary<string, string>
{
{"cpm_site_id",TOKEN},
{"apikey",API_KEY},
{"cpm_amount",input.Amount},
{"cpm_currency",input.Currency},
{"cpm_trans_id",input.Id},
{"cpm_custom",input.Custom},
};
// Get the parameters in the url encoded format
var content = new FormUrlEncodedContent(values);
//Send request
var response = await client.PostAsync(new Uri(Urls.GetUrl(Methods.Pay, IS_PRODUCTION_SITE)), content);
当客户端关闭浏览器时,我希望收到一个事件通知来调用此代码,将上述数据发送到客户端,然后打开一个新的浏览器实例以执行其他操作。但是,这段代码并没有实现这一点,我也不确定原因。
答案 0 :(得分:0)
我认为您需要使用像Selenium这样的东西来自动化Web浏览器。 HttpClient可以执行HTTP功能,但不像Web浏览器那样工作。
请参阅此SO post for a 'hello world' example
见SO post for an example of capturing the browser close event。我没有用C#做过这个,但我想它会和这个JAVA例子类似。