按照此示例:https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110170-modifying-post-put-patch-upload-data,我创建了以下代码:
public override void OnBeforeURLRequest(BeforeURLRequestParams parameters)
{
bool param1Found = false;
bool param2Found = false;
if (parameters != null)
{
if ("POST" == parameters.Method)
{
if (parameters.PostData != null)
{
if (parameters.PostData.ContentType == PostDataContentType.FORM_URL_ENCODED)
{
PostData post = parameters.PostData;
FormData postData2 = (FormData)parameters.PostData;
var mata = postData2.GetPairKeys();
foreach (var item in mata)
{
if (item == "abc")
{
param1Found = true;
}
else if (item == "def")
{
param2Found = true;
}
var coco = postData2.GetPairValues(item);
foreach (var item2 in coco)
{
Console.WriteLine(item + ":" + item2);
}
}
if (param1Found == true && param2Found == true)
{
FormData postData = (FormData)parameters.PostData;
postData.SetPair("abc", "undefined");
parameters.PostData = postData;
}
}
}
}
}
}
但是,我无法在“网络”标签下的Chrome开发者工具中找到我的价值,并且出于某种原因,上述链接中的原始代码会崩溃应用(强制转换错误)。 我错过了什么吗?有人能指出我正确的方向吗?感谢。
答案 0 :(得分:2)
我使用OnBeforeURLRequest修改了POST请求,它没有任何问题。另外,我在Chrome Developer Tools->Network->Headers
中再现了有关信息的描述行为。似乎在Header的修改之前收到了信息,但POST请求被修改并按原样发送。您可以使用例如Fiddler进行检查。
您能否提供有关应用程序崩溃的错误的更多信息?