解码 u002522、u002522 和大量反斜杠
Decoding u002522, u002522 and a lot of backslash
我正在使用 WebClient 获取 som 网络请求:
public static string PostHttp(string url, Dictionary<string, string> headers, Dictionary<string, string> postParams)
{
using (WebClient client = new WebClient())
{
if (headers != null)
{
foreach (var header in headers)
{
client.Headers.Add(header.Key, header.Value);
}
}
var reqparm = new System.Collections.Specialized.NameValueCollection();
if (postParams != null)
{
foreach (var param in postParams)
{
reqparm.Add(param.Key, param.Value);
}
}
byte[] responsebytes = client.UploadValues(url, "POST", reqparm);
return Encoding.UTF8.GetString(responsebytes);
}
}
我在 Visual Studio 中得到类似以下内容:
\\"see_more_cards_id\\",\\"href\\":\\"\\\/page_content_list_view\\\/more\\\/?page_id=200168320060101&start_cursor=\\u00257B\\u002522timeline_cursor\\u002522\\
在 post man 里面看起来更好 我可以做一个 url 解码:
\"see_more_cards_id\",\"href\":\"\\/page_content_list_view\\/more\\/?page_id=200168320060101&start_cursor=\%7B\%22timeline_cursor\%22\%3
在 Chrome 调试器中如下所示:
\"see_more_cards_id\",\"href\":\"\\/page_content_list_view\\/more\\/?page_id=200168320060101&start_cursor=\u00257B\u002522timeline_cursor\u002522\u00253A\u002522timeline_unit\
我要找的是像这样的解码版本:
"see_more_cards_id","href":\"/page_content_list_view/more/?page_id=200168320060101&start_cursor={"timeline_cursor":""timeline_unit:timeline_unit: 1:00000000001564446283:04611686018427387904:091:00000000001564446283:04611686018`427387904:09
我尝试搜索像 u002522 这样的解码字符,但只有非常有限的信息。我发现以下 post 建议使用 Uri.UnescapeDataString 但这并没有解码字符。
Decode chars
\\u002522
这里有很多层。
首先是\转义\。 (这可能只是一个试图提供帮助的调试器。)所以,
\u002522
然后就是\转义为\。所以,
\u002522
然后有\u转义为一个UTF-16编码单元
%22
然后是字节的 % 编码(又名 URL 编码),大概是针对 UTF-8 代码单元
"
我正在使用 WebClient 获取 som 网络请求:
public static string PostHttp(string url, Dictionary<string, string> headers, Dictionary<string, string> postParams)
{
using (WebClient client = new WebClient())
{
if (headers != null)
{
foreach (var header in headers)
{
client.Headers.Add(header.Key, header.Value);
}
}
var reqparm = new System.Collections.Specialized.NameValueCollection();
if (postParams != null)
{
foreach (var param in postParams)
{
reqparm.Add(param.Key, param.Value);
}
}
byte[] responsebytes = client.UploadValues(url, "POST", reqparm);
return Encoding.UTF8.GetString(responsebytes);
}
}
我在 Visual Studio 中得到类似以下内容:
\\"see_more_cards_id\\",\\"href\\":\\"\\\/page_content_list_view\\\/more\\\/?page_id=200168320060101&start_cursor=\\u00257B\\u002522timeline_cursor\\u002522\\
在 post man 里面看起来更好 我可以做一个 url 解码:
\"see_more_cards_id\",\"href\":\"\\/page_content_list_view\\/more\\/?page_id=200168320060101&start_cursor=\%7B\%22timeline_cursor\%22\%3
在 Chrome 调试器中如下所示:
\"see_more_cards_id\",\"href\":\"\\/page_content_list_view\\/more\\/?page_id=200168320060101&start_cursor=\u00257B\u002522timeline_cursor\u002522\u00253A\u002522timeline_unit\
我要找的是像这样的解码版本:
"see_more_cards_id","href":\"/page_content_list_view/more/?page_id=200168320060101&start_cursor={"timeline_cursor":""timeline_unit:timeline_unit: 1:00000000001564446283:04611686018427387904:091:00000000001564446283:04611686018`427387904:09
我尝试搜索像 u002522 这样的解码字符,但只有非常有限的信息。我发现以下 post 建议使用 Uri.UnescapeDataString 但这并没有解码字符。
Decode chars
\\u002522
这里有很多层。
首先是\转义\。 (这可能只是一个试图提供帮助的调试器。)所以,
\u002522
然后就是\转义为\。所以,
\u002522
然后有\u转义为一个UTF-16编码单元
%22
然后是字节的 % 编码(又名 URL 编码),大概是针对 UTF-8 代码单元
"