DotNetBrowser 修改 post 数据 uwitn OnBeforeURLRequest
DotNetBrowser modify post data uwitn OnBeforeURLRequest
按照这个例子: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 开发人员工具中找到我的值,并且由于某种原因,上面 link 的原始代码使应用程序崩溃(转换错误)。
我错过了什么吗?有人能指出我正确的方向吗?谢谢
我使用 OnBeforeURLRequest 修改了 POST 请求,它没有任何问题。此外,我在 Chrome Developer Tools->Network->Headers
中复制了有关信息的描述行为。貌似是在Header修改之前就收到了信息,但是POST请求被修改后按原样发送了。您可以使用例如 Fiddler 进行检查。
您能否提供有关导致应用程序崩溃的错误的更多信息?
按照这个例子: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 开发人员工具中找到我的值,并且由于某种原因,上面 link 的原始代码使应用程序崩溃(转换错误)。 我错过了什么吗?有人能指出我正确的方向吗?谢谢
我使用 OnBeforeURLRequest 修改了 POST 请求,它没有任何问题。此外,我在 Chrome Developer Tools->Network->Headers
中复制了有关信息的描述行为。貌似是在Header修改之前就收到了信息,但是POST请求被修改后按原样发送了。您可以使用例如 Fiddler 进行检查。
您能否提供有关导致应用程序崩溃的错误的更多信息?