Use dotnetbrowser.I intercept ajax but how to get ajax POST data content.
1 回答
1
为了拦截 URL 请求的 post 数据,需要重写 'DefaultNetworkDelegate' 类的 'OnBeforeURLRequest' 方法。在这种方法中,您需要将 post 数据强制转换为适当的数据类型,然后获取或设置该数据的键值对。
下面的示例演示了如何截取、打印和修改表单数据。
class AjaxNetworkDelegate : DefaultNetworkDelegate
{
public override void OnBeforeURLRequest(BeforeURLRequestParams parameters)
{
if (parameters.PostData != null && parameters.PostData.ContentType == PostDataContentType.FORM_URL_ENCODED)
{
FormData formData = (FormData) parameters.PostData;
foreach (string pairKey in formData.GetPairKeys())
{
Console.WriteLine("Key: " + pairKey);
foreach (string pairValue in formData.GetPairValues(pairKey))
{
Console.WriteLine("Value: " + pairValue);
}
}
formData.SetPair("somekey", "someValue");
parameters.PostData = formData;
}
}
}
此外,以下文章演示了如何使用不同的帖子数据类型:https ://dotnetbrowser.support.teamdev.com/solution/articles/9000110170-modifying-post-put-patch-upload-data
于 2018-02-27T14:39:16.197 回答