{"id":808,"date":"2025-11-18T23:15:15","date_gmt":"2025-11-18T15:15:15","guid":{"rendered":"https:\/\/help.ipnut.com\/?post_type=docs&#038;p=808"},"modified":"2025-11-23T18:33:11","modified_gmt":"2025-11-23T10:33:11","password":"","slug":"python-integration-demo-ipnut-proxy-configuration-via-python","status":"publish","type":"docs","link":"https:\/\/www.ipnut.com\/help\/development-documentation\/python-integration-demo-ipnut-proxy-configuration-via-python\/","title":{"rendered":"Python Integration Demo IPNut Proxy Configuration via Python"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"808\" class=\"elementor elementor-808\" data-elementor-post-type=\"docs\">\n\t\t\t\t<div class=\"elementor-element elementor-element-229cfff e-flex e-con-boxed e-con e-parent\" data-id=\"229cfff\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0aa60be elementor-widget elementor-widget-text-editor\" data-id=\"0aa60be\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"ds-markdown-paragraph\">After purchasing static IP services from IPNut platform, use the following Python code samples for integration.<\/p><hr \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c3ddaa elementor-widget elementor-widget-heading\" data-id=\"4c3ddaa\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">1. SOCKS5 Proxy Implementation<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4bdf1a1 elementor-widget elementor-widget-code-highlight\" data-id=\"4bdf1a1\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python \">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>import requests\r\nimport socks\r\nimport socket\r\nimport json\r\n\r\ndef socks5_proxy_demo():\r\n    \"\"\"\r\n    SOCKS5 Proxy Basic Demonstration\r\n    \"\"\"\r\n    print(\"=== SOCKS5 Proxy Demo ===\")\r\n\r\n    # Proxy configuration (replace with your credentials)\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    # Configure SOCKS5 proxy\r\n    socks.set_default_proxy(\r\n        socks.SOCKS5,\r\n        proxy_host,\r\n        proxy_port,\r\n        username=proxy_username,\r\n        password=proxy_password\r\n    )\r\n    socket.socket = socks.socksocket\r\n\r\n    try:\r\n        # Test request through proxy\r\n        test_url = \"https:\/\/httpbin.org\/ip\"\r\n        print(f\"Accessing via SOCKS5: {test_url}\")\r\n\r\n        response = requests.get(test_url, timeout=30)\r\n        response.raise_for_status()\r\n\r\n        print(f\"Status Code: {response.status_code}\")\r\n        print(f\"Response: {response.text}\")\r\n\r\n    except Exception as e:\r\n        print(f\"Request failed: {e}\")\r\n    finally:\r\n        # Restore default socket configuration\r\n        socks.set_default_proxy()\r\n        socket.socket = socket.socket\r\n\r\ndef socks5_session_demo():\r\n    \"\"\"\r\n    SOCKS5 with Persistent Session\r\n    \"\"\"\r\n    print(\"\\n=== SOCKS5 Session Demo ===\")\r\n\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    # Construct proxy URL\r\n    proxy_url = f\"socks5:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n\r\n    # Create configured session\r\n    session = requests.Session()\r\n    session.proxies = {\r\n        'http': proxy_url,\r\n        'https': proxy_url\r\n    }\r\n\r\n    try:\r\n        # Test multiple endpoints\r\n        test_urls = [\r\n            \"https:\/\/httpbin.org\/ip\",\r\n            \"https:\/\/httpbin.org\/user-agent\",\r\n            \"https:\/\/httpbin.org\/headers\"\r\n        ]\r\n\r\n        for i, url in enumerate(test_urls, 1):\r\n            print(f\"\\nRequest {i}: {url}\")\r\n\r\n            response = session.get(url, timeout=30)\r\n            response.raise_for_status()\r\n\r\n            print(f\"Status Code: {response.status_code}\")\r\n            data = response.json()\r\n            print(f\"Response Data: {json.dumps(data, indent=2)}\")\r\n\r\n    except Exception as e:\r\n        print(f\"Request failed: {e}\")\r\n\r\ndef socks5_advanced_demo():\r\n    \"\"\"\r\n    Advanced SOCKS5 Configuration\r\n    \"\"\"\r\n    print(\"\\n=== Advanced SOCKS5 Demo ===\")\r\n\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    proxy_url = f\"socks5:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n\r\n    try:\r\n        # Custom headers and parameters\r\n        headers = {\r\n            'User-Agent': 'IPNut-Python-Client\/1.0',\r\n            'Accept': 'application\/json',\r\n            'X-Custom-Header': 'proxy-test'\r\n        }\r\n\r\n        response = requests.get(\r\n            \"https:\/\/httpbin.org\/headers\",\r\n            proxies={\r\n                'http': proxy_url,\r\n                'https': proxy_url\r\n            },\r\n            headers=headers,\r\n            timeout=30\r\n        )\r\n\r\n        print(f\"Status Code: {response.status_code}\")\r\n        data = response.json()\r\n        print(f\"Headers Response: {json.dumps(data, indent=2)}\")\r\n\r\n    except Exception as e:\r\n        print(f\"Advanced request failed: {e}\")<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9261822 elementor-widget elementor-widget-heading\" data-id=\"9261822\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">2. HTTP Proxy Implementation<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b8f954 elementor-widget elementor-widget-code-highlight\" data-id=\"8b8f954\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python \">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>import requests\r\nimport json\r\nimport time\r\n\r\ndef http_proxy_demo():\r\n    \"\"\"\r\n    HTTP Proxy Basic Demonstration\r\n    \"\"\"\r\n    print(\"=== HTTP Proxy Demo ===\")\r\n\r\n    # Proxy configuration\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    # Construct authenticated proxy URL\r\n    proxy_url = f\"http:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n\r\n    # Configure proxies for all protocols\r\n    proxies = {\r\n        'http': proxy_url,\r\n        'https': proxy_url\r\n    }\r\n\r\n    try:\r\n        # Test connectivity\r\n        test_url = \"https:\/\/httpbin.org\/ip\"\r\n        print(f\"Accessing via HTTP Proxy: {test_url}\")\r\n\r\n        response = requests.get(test_url, proxies=proxies, timeout=30)\r\n        response.raise_for_status()\r\n\r\n        print(f\"Status Code: {response.status_code}\")\r\n        print(f\"Response: {response.text}\")\r\n\r\n    except Exception as e:\r\n        print(f\"Request failed: {e}\")\r\n\r\ndef http_proxy_session_demo():\r\n    \"\"\"\r\n    HTTP Proxy with Session Management\r\n    \"\"\"\r\n    print(\"\\n=== HTTP Proxy Session Demo ===\")\r\n\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    proxy_url = f\"http:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n\r\n    # Create persistent session\r\n    session = requests.Session()\r\n    session.proxies = {\r\n        'http': proxy_url,\r\n        'https': proxy_url\r\n    }\r\n\r\n    # Configure default headers\r\n    session.headers.update({\r\n        'User-Agent': 'IPNut-Professional-Client\/1.0',\r\n        'Accept': 'application\/json'\r\n    })\r\n\r\n    try:\r\n        # Execute multiple requests\r\n        endpoints = [\r\n            \"https:\/\/httpbin.org\/ip\",\r\n            \"https:\/\/httpbin.org\/user-agent\", \r\n            \"https:\/\/httpbin.org\/get?test=ipnut_proxy\"\r\n        ]\r\n\r\n        for i, endpoint in enumerate(endpoints, 1):\r\n            print(f\"\\nRequest {i}: {endpoint}\")\r\n\r\n            response = session.get(endpoint, timeout=30)\r\n            response.raise_for_status()\r\n\r\n            print(f\"Status Code: {response.status_code}\")\r\n            data = response.json()\r\n            print(f\"Response Data: {json.dumps(data, indent=2)}\")\r\n\r\n            time.sleep(0.5)  # Rate limiting\r\n\r\n    except Exception as e:\r\n        print(f\"Session request failed: {e}\")\r\n\r\ndef http_proxy_post_demo():\r\n    \"\"\"\r\n    HTTP Proxy POST Request Demonstration\r\n    \"\"\"\r\n    print(\"\\n=== HTTP Proxy POST Demo ===\")\r\n\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    proxy_url = f\"http:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n\r\n    proxies = {\r\n        'http': proxy_url,\r\n        'https': proxy_url\r\n    }\r\n\r\n    try:\r\n        # POST request with JSON payload\r\n        payload = {\r\n            'service': 'IPNut Proxy',\r\n            'protocol': 'HTTP',\r\n            'authentication': 'username\/password',\r\n            'features': ['static_ip', 'high_anonymity']\r\n        }\r\n\r\n        headers = {\r\n            'Content-Type': 'application\/json',\r\n            'User-Agent': 'IPNut-API-Client\/1.0'\r\n        }\r\n\r\n        response = requests.post(\r\n            \"https:\/\/httpbin.org\/post\",\r\n            json=payload,\r\n            headers=headers,\r\n            proxies=proxies,\r\n            timeout=30\r\n        )\r\n\r\n        print(f\"Status Code: {response.status_code}\")\r\n        result = response.json()\r\n        print(f\"POST Response: {json.dumps(result, indent=2)}\")\r\n\r\n    except Exception as e:\r\n        print(f\"POST request failed: {e}\")<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4a5f06 elementor-widget elementor-widget-heading\" data-id=\"c4a5f06\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">3. Connectivity Testing Utility<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53dd796 elementor-widget elementor-widget-code-highlight\" data-id=\"53dd796\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python \">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>def comprehensive_proxy_test():\r\n    \"\"\"\r\n    Comprehensive Proxy Connectivity Testing\r\n    \"\"\"\r\n    print(\"\\n=== Comprehensive Proxy Test ===\")\r\n\r\n    proxy_host = \"proxy.ipnut.com\"\r\n    proxy_port = 28001\r\n    proxy_username = \"ipnut\"\r\n    proxy_password = \"123456789\"\r\n\r\n    # Test configurations for both protocols\r\n    test_configs = [\r\n        {\r\n            'name': 'SOCKS5 Proxy',\r\n            'url': f\"socks5:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n        },\r\n        {\r\n            'name': 'HTTP Proxy', \r\n            'url': f\"http:\/\/{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}\"\r\n        }\r\n    ]\r\n\r\n    for config in test_configs:\r\n        print(f\"\\nTesting {config['name']}...\")\r\n        \r\n        try:\r\n            response = requests.get(\r\n                \"https:\/\/httpbin.org\/ip\",\r\n                proxies={\r\n                    'http': config['url'],\r\n                    'https': config['url']\r\n                },\r\n                timeout=15\r\n            )\r\n            \r\n            if response.status_code == 200:\r\n                ip_info = response.json()\r\n                print(f\"\u2705 {config['name']} - Connection Successful\")\r\n                print(f\"   Assigned IP: {ip_info['origin']}\")\r\n                print(f\"   Protocol: {config['name'].split()[0]}\")\r\n            else:\r\n                print(f\"\u274c {config['name']} - HTTP Error: {response.status_code}\")\r\n                \r\n        except requests.exceptions.Timeout:\r\n            print(f\"\u274c {config['name']} - Connection Timeout\")\r\n        except Exception as e:\r\n            print(f\"\u274c {config['name']} - Connection Failed: {str(e)}\")<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-95af49e elementor-widget elementor-widget-heading\" data-id=\"95af49e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">4.Main Execution Program<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2c0028 elementor-widget elementor-widget-code-highlight\" data-id=\"c2c0028\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python \">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>def main():\r\n    \"\"\"\r\n    Main Execution Function\r\n    \"\"\"\r\n    print(\"Starting IPNut Proxy Integration Tests...\")\r\n    print(\"=\" * 60)\r\n\r\n    # Execute SOCKS5 proxy tests\r\n    socks5_proxy_demo()\r\n    socks5_session_demo()\r\n    socks5_advanced_demo()\r\n\r\n    print(\"\\n\" + \"=\" * 60)\r\n\r\n    # Execute HTTP proxy tests\r\n    http_proxy_demo()\r\n    http_proxy_session_demo()\r\n    http_proxy_post_demo()\r\n\r\n    print(\"\\n\" + \"=\" * 60)\r\n\r\n    # Run comprehensive connectivity test\r\n    comprehensive_proxy_test()\r\n\r\n    print(\"\\n\" + \"=\" * 60)\r\n    print(\"All IPNut proxy integration tests completed!\")\r\n\r\nif __name__ == \"__main__\":\r\n    main()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31989d5 elementor-widget elementor-widget-heading\" data-id=\"31989d5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">5. Environment Setup<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2fe5300 elementor-widget elementor-widget-code-highlight\" data-id=\"2fe5300\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python \">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp># requirements.txt\n\nrequests>=2.28.0\nPySocks>=1.7.1\nurllib3>=1.26.0\n\n# Installation:\n\npip install -r requirements.txt<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff8bed5 elementor-widget elementor-widget-text-editor\" data-id=\"ff8bed5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Key Integration Notes:<\/p><ul><li><p class=\"ds-markdown-paragraph\">Credential Management: Replace example credentials with actual IPNut proxy details<\/p><\/li><li><p class=\"ds-markdown-paragraph\">Error Handling: Implement comprehensive exception handling for production use<\/p><\/li><li><p class=\"ds-markdown-paragraph\">Performance Optimization: Use connection pooling for high-volume applications<\/p><\/li><li><p class=\"ds-markdown-paragraph\">Security: Always use HTTPS endpoints in production environments<\/p><\/li><li><p class=\"ds-markdown-paragraph\">Monitoring: Implement logging and monitoring for connection health<\/p><\/li><\/ul><p>Usage Instructions:<\/p><ol start=\"1\"><li><p class=\"ds-markdown-paragraph\">Install Dependencies:<\/p><div class=\"md-code-block md-code-block-light\"><div class=\"md-code-block-banner-wrap\"><div class=\"md-code-block-banner md-code-block-banner-lite\"><div class=\"_121d384\"><div class=\"d2a24f03\"><span class=\"d813de27\">bash<\/span><\/div><\/div><\/div><\/div><pre>pip <span class=\"token function\">install<\/span> requests PySocks<\/pre><\/div><\/li><li><p class=\"ds-markdown-paragraph\">Configure Credentials: Update proxy host, port, username, and password<\/p><\/li><li><p class=\"ds-markdown-paragraph\">Run Tests:<\/p><div class=\"md-code-block md-code-block-light\"><div class=\"md-code-block-banner-wrap\"><div class=\"md-code-block-banner md-code-block-banner-lite\"><div class=\"_121d384\"><div class=\"d2a24f03\"><span class=\"d813de27\">bash<\/span><\/div><\/div><\/div><\/div><pre>python ipnut_proxy_demo.py<\/pre><\/div><\/li><li><p class=\"ds-markdown-paragraph\">Integrate into Projects: Copy relevant functions into your application<\/p><\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9366985 elementor-widget elementor-widget-text-editor\" data-id=\"9366985\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"ds-markdown-paragraph\">Technical Support<br \/>For integration assistance or location-specific requirements:<\/p><ul><li><p class=\"ds-markdown-paragraph\">Email:\u00a0Support@ipnut.com<\/p><\/li><li><p class=\"ds-markdown-paragraph\">Live Chat: 24\/7 real-time support via official website<\/p><\/li><\/ul><p class=\"ds-markdown-paragraph\">*All code examples support both HTTP(S) and SOCKS5 protocols with enterprise-grade authentication and security features.*<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>After purchasing sta [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_category":[45],"doc_tag":[],"class_list":["post-808","docs","type-docs","status-publish","hentry","doc_category-development-documentation"],"year_month":"2026-05","word_count":1059,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"admin","author_nicename":"admin","author_url":"https:\/\/help.ipnut.com\/author\/admin\/"},"doc_category_info":[{"term_name":"Development Documentation","term_url":"https:\/\/help.ipnut.com\/docs\/development-documentation\/"}],"doc_tag_info":[],"lang":"en","translations":{"en":808,"cn":662},"knowledge_base_info":[],"knowledge_base_slug":[],"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/docs\/808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/comments?post=808"}],"version-history":[{"count":7,"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/docs\/808\/revisions"}],"predecessor-version":[{"id":1146,"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/docs\/808\/revisions\/1146"}],"wp:attachment":[{"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/media?parent=808"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/doc_category?post=808"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/help.ipnut.com\/wp-json\/wp\/v2\/doc_tag?post=808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}