IFrame.LoadRequest(IRequest) ๋ฅผ ํตํด LoadUrlWithPostData ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ์ต๋๋ค. ACCEPT ํค๋ ๊ฐ IRequeset.Headers์ ์ถ๊ฐ๋์์ง๋ง ๊ฒฐ๊ตญ ๋ฎ์ด์ผ์ต๋๋ค. ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ด๊ธด ํ์ง๋ง OnBeforeResourceLoad ๋ฉ์๋์์ ์ค์ ํ๊ณ ์ถ์ง ์์ต๋๋ค .
private static void LoadUrl(ChromiumWebBrowser browser, string url, byte[] postDataBytes, string requestMethod = "POST", WebHeaderCollection headers = null)
{
using (var frame = browser.GetMainFrame())
{
ThrowExceptionIfFrameNull(frame);
var initializePostData = requestMethod.ToLower() == "post";
var request = frame.CreateRequest(initializePostData: initializePostData);
if (initializePostData)
{
request.InitializePostData();
request.PostData.AddData(postDataBytes);
}
request.Url = url;
request.Method = requestMethod;
if (headers != null && headers.HasKeys())
{
var originHeader = request.Headers ?? new NameValueCollection();
foreach (string keyName in headers.AllKeys)
{
originHeader.Set(keyName, headers[keyName]);
}
var refererValue = headers[HttpRequestHeader.Referer];
// Set Referer
if (!string.IsNullOrEmpty(refererValue))
{
request.SetReferrer(refererValue, ReferrerPolicy.Default);
}
request.Headers = originHeader;
}
frame.LoadRequest(request);
}
}
public static void LoadUrlWithPostDataLocal(this ChromiumWebBrowser browser, string url, byte[] postDataBytes, WebHeaderCollection headers = null)
{
LoadUrl(browser, url, postDataBytes, "POST", headers);
}
๋ด ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
var postdata = "mact=1&search_flag=1&page=1&search_text=";
var buffer = Encoding.UTF8.GetBytes(postdata);
var cookies = "";
var headers = new WebHeaderCollection
{
{"Accept","application/json, text/javascript, */*; q=0.01" },
{HttpRequestHeader.Cookie,cookies }
};
// Accept header will be rewritten
browser.LoadUrlWithPostDataLocal(url, buffer, header);
๋๋ฅผ ๋์์ค ์ฌ๋์ด ์์ต๋๊น?
:wave: @DonetCracker , ๋ฒ๊ทธ ๋ณด๊ณ ๋ฐ ๊ธฐ๋ฅ ์์ฒญ์๋ง ๋ฌธ์ ์ถ์ ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฌธ์ ๋ ์ง์ ์์ฒญ์ผ๋ก ๋ณด์
๋๋ค. ํ๋ก์ ํธ์ ๋ํ ๋์์ ๋ฐ์ผ๋ ค๋ฉด ์ง์ ์ฑ๋์ ์ฌ์ฉํ์ญ์์ค.
์ง๋ฌธ์ด ์๋ ๊ฒฝ์ฐ Gitter , StackOverflow ๋๋ ceforum ์ ์ฌ์ฉํ์ธ์( CEF
๊ด๋ จ ์ง๋ฌธ์ ๊ฒฝ์ฐ).
CefSharp
๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ https://github.com/cefsharp/CefSharp/wiki/General-Usage ๋ฅผ ์ฝ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ฐธ๊ณ LoadUrlWithPostData
์ Obsolete
๋ก ํ์๋์ด ์ ๊ฑฐ๋ฉ๋๋ค(#2705).
LoadRequest๋ ์ผ๋ฐ ํ์ ํ์ดํ๋ผ์ธ์ ์ฐํํฉ๋๋ค.
https://magpcss.org/ceforum/viewtopic.php?f=6&t=16592&p=41067#p41074
71.0.x
์ LoadRequest
์๋ ๋ง์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. CEF
๋ฌธ์ ์
๋๋ค.
ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ด๊ธด ํ์ง๋ง OnBeforeResourceLoad ๋ฉ์๋์์ ์ค์ ํ๊ณ ์ถ์ง ์์ต๋๋ค .
๊ทธ๊ฒ์ด ์ ์ผํ๊ฒ ์ ๋ขฐํ ์ ์๋ ๋ฐฉ๋ฒ์
๋๋ค. LoadRequest
๋ ์ด์ ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ์ด์ ๋ฒ์ ์์ ์๋ํ์ต๋๋ค.
๋ ๊ตฌ์ฒด์ ์ผ๋ก ๊ทํ์ ๋ฌธ์ ๋ https://magpcss.org/ceforum/viewtopic.php?f=6&t=16561&p=40960์ธ ๊ฒ ๊ฐ์ต๋๋ค.
upstream
(์ผ)๋ก ๋ง๊ฐํฉ๋๋ค.
๋ ๊ตฌ์ฒด์ ์ผ๋ก ๊ทํ์ ๋ฌธ์ ๋ https://magpcss.org/ceforum/viewtopic.php?f=6&t=16561&p=40960์ธ ๊ฒ ๊ฐ์ต๋๋ค.
upstream
(์ผ)๋ก ๋ง๊ฐํฉ๋๋ค.
์ ๋ง ๊ณ ๋ง์์, ๋น์ ์ ๋ด ์๋ช ์ ๊ตฌํ์ต๋๋ค!!