WebView không phải là trình duyệt có mục đích chung, nó có một số "hạn chế" không được hỗ trợ ngay bây giờ. Không có API nào có thể đặt User-Agent mặc định được sử dụng trong mọi yêu cầu. Chúng tôi có thể sử dụng WebView.NavigationStarting event cùng với WebView.NavigateWithHttpRequestMessage method để đặt User-Agent trong mọi yêu cầu.
Để biết thêm thông tin về cách thực hiện việc này, vui lòng tham khảo this answer. Điểm mấu chốt ở đây là loại bỏ handler cho NavigationStarting
sự kiện và hủy chuyển hướng trong yêu cầu ban đầu và sau đó thêm các xử lý sau NavigateWithHttpRequestMessage
để đảm bảo NavigationStarting
sự kiện có thể chụp các yêu cầu tiếp theo như sau:
WebView wb = new WebView();
wb.NavigationStarting += Wb_NavigationStarting;
...
private void NavigateWithHeader(Uri uri)
{
var requestMsg = new Windows.Web.Http.HttpRequestMessage(HttpMethod.Get, uri);
requestMsg.Headers.Add("User-Agent", "blahblah");
wb.NavigateWithHttpRequestMessage(requestMsg);
wb.NavigationStarting += Wb_NavigationStarting;
}
private void Wb_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
wb.NavigationStarting -= Wb_NavigationStarting;
args.Cancel = true;
NavigateWithHeader(args.Uri);
}
Ngoài ra, bạn đều được chào đón để bình chọn trên UserVoice để chia sẻ phản hồi của bạn.
Nguồn
2016-09-16 10:55:10
Đây là mẹo lừa đảo: https://gist.github.com/mattdot/3b53af7756c061e06f60623c766f657a – Laith