Как открыть сайт в WebView через прокси внутри мобильного приложения iOS и Android?

Для того чтобы открыть сайт в WebView через прокси внутри мобильного приложения на платформе Android, вам понадобится выполнить следующие шаги:

1. Создать новый проект Android.
2. В файле activity_main.xml добавить элемент WebView в макет:

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

3. В файле MainActivity.java получить ссылку на WebView и настройте его для использования прокси-сервера:

WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);

// Настройка прокси-сервера
String proxyHost = "your_proxy_host";
int proxyPort = your_proxy_port;

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
webView.getSettings().setProxy(proxy);

// Открыть сайт
String url = "https://www.example.com";
webView.loadUrl(url);

4. Установить разрешение на использование Интернета в файле AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />

Однако, необходимо обратить внимание, что использование прокси в WebView может привести к уязвимостям безопасности и брешам конфиденциальности данных. Убедитесь, что вы предоставили пользователю явное разрешение на использование прокси-сервера в приложении и получили согласие на передачу данных через сторонний сервер.

Ответ для iOS:

Для того чтобы открыть сайт в WebView через прокси внутри мобильного приложения iOS, вам понадобится выполнить следующие шаги:

1. Создайте новый проект iOS.
2. Добавьте элемент WKWebView на экран вашего приложения.

import UIKit
import WebKit

class ViewController: UIViewController {

    var webView: WKWebView!

    override func loadView() {
        webView = WKWebView()
        view = webView
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // Настройка прокси-сервера
        let proxyHost = "your_proxy_host"
        let proxyPort = your_proxy_port

        let proxyConfiguration = "HTTPProxy: (proxyHost):(proxyPort)"
        let proxyDic: [AnyHashable: Any] = [
            kCFNetworkProxiesHTTPEnable: 1,
            kCFNetworkProxiesHTTPProxy: proxyHost,
            kCFNetworkProxiesHTTPPort: proxyPort
        ]
        let proxyDic = [AnyHashable: Any] (dictionaryLiteral: (proxyConfiguration, proxyDic))
        let configuration = WKWebViewConfiguration()
        configuration.networkServiceType = .responsiveData
        configuration.defaultWebpagePreferences.preferredContentMode = .mobile
        configuration.defaultWebpagePreferences.allowsContentJavaScript = true

        // Установите конфигурацию прокси-сервера для WebView
        configuration.defaultWebpagePreferences.httpProxy = proxyDic

        let webView = WKWebView(frame: view.frame, configuration: configuration)

        // Откройте сайт
        let url = URL(string: "https://www.example.com")!
        let request = URLRequest(url: url)
        webView.load(request)

        view.addSubview(webView)
    }
}

Однако, также обратите внимание, что использование прокси-сервера в WebView может иметь небезопасные последствия. Убедитесь, что вы предоставили пользователю явное разрешение на использование прокси-сервера в приложении и получили согласие на передачу данных через сторонний сервер.