인증 코드 이미지입니다. 따라서 URL로 다운로드에 응답하지 마십시오.
일부 버그로 "커맨드 복사"는 이미지가 아닌 URL 만 복사하는 경우가 있습니다. 따라서 IHTMLControlRange.execCommand 메서드를 사용하여 응답하지 마십시오.
일부 웹 사이트는 HTML5 페이지가 아닙니다. 그러니 캔버스 태그로 대답하지 마십시오.
.... 다른 방법은?
좋아요 ... 다운로드를 시도하고 있습니다 ... 작동합니다!
브라우저 컨트롤의 페이지와 동일한 매개 변수로 요청을 위조합니다.
var hRequest = WebRequest.CreateHttp("/*Rand Code Url*/?rnd=" + new Random().NextDouble());
hRequest.Accept = "image/png, image/svg+xml, image/jxr, image/*; q=0.8, */*; q=0.5";
hRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
hRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, /*Page AcceptLanguage*/);
hRequest.KeepAlive = true;
string cookie = "";
webBrowser.Invoke((MethodInvoker)delegate { cookie = webBrowser.Document.Cookie; });
hRequest.Headers.Add(HttpRequestHeader.Cookie, cookie);
hRequest.Headers.Add("DNT", "1");
hRequest.Host = /*page window.location.host*/;
hRequest.Referer = /*page.referer*/;
hRequest.UserAgent = /*page navigator.userAgent*/;
hRequest.Method = "GET";
var hResponse = hRequest.GetResponse();
var response = hResponse.GetResponseStream();
List<byte> data = new List<byte>();
//read stream
while (true)
{
int i = response.ReadByte();
if (i >= 0)
data.Add((byte)i);
else
break;
}
if (data.Count == 0) return "";//if not succes, return empty string
//convert to Base64 string
string RandBase64 = Convert.ToBase64String(data.ToArray());
hResponse.Dispose();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다