{"id":643,"date":"2025-12-08T20:00:41","date_gmt":"2025-12-08T12:00:41","guid":{"rendered":"https:\/\/www.52runoob.com\/?p=643"},"modified":"2025-12-08T20:00:41","modified_gmt":"2025-12-08T12:00:41","slug":"php%e4%b8%adcurl%e6%96%b0%e6%89%8b%e7%a7%92%e5%8f%98%e9%ab%98%e6%89%8b%e7%9a%84%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b%e5%ae%9e%e4%be%8b","status":"publish","type":"post","link":"https:\/\/www.52runoob.com\/index.php\/2025\/12\/08\/php%e4%b8%adcurl%e6%96%b0%e6%89%8b%e7%a7%92%e5%8f%98%e9%ab%98%e6%89%8b%e7%9a%84%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b%e5%ae%9e%e4%be%8b\/","title":{"rendered":"php\u4e2dcurl\u65b0\u624b\u79d2\u53d8\u9ad8\u624b\u7684\u4f7f\u7528\u6559\u7a0b\u5b9e\u4f8b"},"content":{"rendered":"\n<p>\u4e0b\u9762\u8fd9\u4e00\u4efd\u662f&nbsp;<strong>\u201cPHP cURL \u65b0\u624b \u2192 \u9ad8\u624b\u201d\u5b8c\u6574\u5b9e\u6218\u6559\u7a0b\u201d<\/strong>\uff0c\u5305\u542b\uff1a<br>\u2714 \u5168\u8986\u76d6 cURL \u7684\u6700\u5e38\u7528\u529f\u80fd<br>\u2714 \u5355\u8bf7\u6c42\u3001POST\u3001\u6587\u4ef6\u4e0a\u4f20\u3001Header\u3001\u81ea\u5b9a\u4e49\u65b9\u6cd5<br>\u2714 HTTPS\u3001Cookie\u3001\u4ee3\u7406\u3001\u91cd\u5b9a\u5411\u3001\u9519\u8bef\u5904\u7406<br>\u2714 \u5e76\u53d1\u591a\u7ebf\u7a0b curl_multi<br>\u2714 API \u8c03\u7528\u6a21\u677f\uff08\u53ef\u590d\u5236\uff09<br>\u2714 \u5b89\u5168\u6ce8\u610f\u4e8b\u9879\uff08\u907f\u514d SSRF\u3001\u8d85\u65f6\u6b7b\u9501\uff09<br>\u2714 \u751f\u4ea7\u7ea7\u5c01\u88c5\u793a\u4f8b<\/p>\n\n\n\n<p>\u4f60\u53ea\u8981\u8ddf\u7740\u6bcf\u4e00\u8282\u7167\u505a\uff0c\u5c31\u80fd\u76f4\u63a5\u4ece\u5165\u95e8\u51b2\u5230\u719f\u7ec3\u5f00\u53d1\u8005\u7ea7\u522b\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde9 \u4e00\u3001\u4ec0\u4e48\u662f cURL\uff1f\u4e3a\u4ec0\u4e48\u5fc5\u987b\u4f1a\uff1f<\/h1>\n\n\n\n<p><strong>cURL \u662f PHP \u4e2d\u6700\u5f3a\u5927\u7684 HTTP \u5ba2\u6237\u7aef<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bbf\u95ee API\uff08\u5fae\u4fe1\u3001Stripe\u3001\u652f\u4ed8\u3001\u767b\u5f55\u7b49\uff09<\/li>\n\n\n\n<li>\u4e0a\u4f20\u6587\u4ef6<\/li>\n\n\n\n<li>\u6a21\u62df\u6d4f\u89c8\u5668\uff08\u5e26 Cookie \/ Header\uff09<\/li>\n\n\n\n<li>\u6293\u53d6\u7f51\u9875\uff08\u722c\u866b\uff09<\/li>\n\n\n\n<li>\u4f7f\u7528\u4ee3\u7406<\/li>\n\n\n\n<li>\u5e76\u53d1\u8bf7\u6c42\uff08curl_multi\uff09<\/li>\n\n\n\n<li>\u8d85\u65f6\u63a7\u5236\u3001\u9519\u8bef\u5904\u7406\u66f4\u7a33<\/li>\n<\/ul>\n\n\n\n<p>file_get_contents \u5728\u751f\u4ea7\u73af\u5883\u8fdc\u4e0d\u5982 cURL\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\uddf1 \u4e8c\u3001\u6700\u57fa\u672c\u7528\u6cd5\uff08GET \u8bf7\u6c42\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$url = &quot;https:\/\/httpbin.org\/get&quot;;\n\n$ch = curl_init();\n\n\/\/ \u8bbe\u7f6e URL\ncurl_setopt($ch, CURLOPT_URL, $url);\n\n\/\/ \u8fd4\u56de\u5185\u5bb9\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u8f93\u51fa\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc&nbsp;<strong>\u91cd\u70b9\u53c2\u6570\u89e3\u91ca<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u53c2\u6570<\/th><th>\u4f5c\u7528<\/th><\/tr><\/thead><tbody><tr><td><code>CURLOPT_RETURNTRANSFER<\/code>=true<\/td><td>\u8fd4\u56de\u5b57\u7b26\u4e32\u800c\u4e0d\u662f echo<\/td><\/tr><tr><td><code>CURLOPT_URL<\/code><\/td><td>\u76ee\u6807 URL<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u4f60\u5df2\u7ecf\u4f1a\u6700\u57fa\u672c\u7684 GET\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udcee \u4e09\u3001POST \u8bf7\u6c42\uff08\u8868\u5355\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$url = &quot;https:\/\/httpbin.org\/post&quot;;\n\n$data = &#x5B;\n    &quot;username&quot; =&gt; &quot;Jack&quot;,\n    &quot;password&quot; =&gt; &quot;123456&quot;\n];\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $data);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;\n\n<\/pre><\/div>\n\n\n<p>\u81ea\u52a8\u53d1\u9001<br><code>Content-Type: application\/x-www-form-urlencoded<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udce6 \u56db\u3001\u53d1\u9001 JSON\uff08\u73b0\u4ee3 API 99% \u7528\u8fd9\u4e2a\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$url = &quot;https:\/\/httpbin.org\/post&quot;;\n\n$data = &#x5B;\n    &quot;name&quot; =&gt; &quot;Ajay&quot;,\n    &quot;age&quot;  =&gt; 18\n];\n\n$payload = json_encode($data);\n\n$ch = curl_init($url);\n\ncurl_setopt_array($ch, &#x5B;\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_POST =&gt; true,\n    CURLOPT_POSTFIELDS =&gt; $payload,\n    CURLOPT_HTTPHEADER =&gt; &#x5B;\n        &quot;Content-Type: application\/json&quot;,\n        &quot;Content-Length: &quot; . strlen($payload)\n    ]\n]);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\uddfb \u4e94\u3001\u5e26 Header \u7684\u8bf7\u6c42<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_HTTPHEADER, &#x5B;\n    &quot;Accept: application\/json&quot;,\n    &quot;User-Agent: MyApp\/1.0&quot;,\n    &quot;Authorization: Bearer YOUR_TOKEN&quot;\n]);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udce4 \u516d\u3001\u4e0a\u4f20\u6587\u4ef6\uff08multipart\/form-data\uff09<\/h1>\n\n\n\n<p>PHP \u2265 5.5 \u4f7f\u7528&nbsp;<code>CURLFile<\/code>\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$url = &quot;https:\/\/example.com\/upload&quot;;\n\n$data = &#x5B;\n    &quot;file&quot; =&gt; new CURLFile(&quot;\/path\/to\/a.jpg&quot;, &quot;image\/jpeg&quot;, &quot;a.jpg&quot;)\n];\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $data);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\n$res = curl_exec($ch);\ncurl_close($ch);\n\necho $res;\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd01 \u4e03\u3001\u81ea\u52a8\u8ddf\u968f\u91cd\u5b9a\u5411<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\ncurl_setopt($ch, CURLOPT_MAXREDIRS, 5);\n\n<\/pre><\/div>\n\n\n<p>\u6d4f\u89c8\u5668\u5f0f\u4f53\u9a8c\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\uddc8 \u516b\u3001\u5904\u7406 HTTPS\uff08\u5173\u95ed\/\u5f3a\u5236\u9a8c\u8bc1\uff09<\/h1>\n\n\n\n<p>\u2714&nbsp;<strong>\u614e\u7528<\/strong>\u2014\u2014\u65b0\u589e SSRF \u8fc7\u6ee4\u65f6\u5e38\u7528<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); \/\/ \u4e0d\u9a8c\u8bc1\u8bc1\u4e66\ncurl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); \/\/ \u4e0d\u9a8c\u8bc1\u57df\u540d\n\n<\/pre><\/div>\n\n\n<p>\u751f\u4ea7\u73af\u5883\u8981&nbsp;<strong>\u5f00\u542f\u9a8c\u8bc1<\/strong>\uff01<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83c\udf6a \u4e5d\u3001Cookie\uff08\u6a21\u62df\u767b\u5f55\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_COOKIEJAR, &quot;cookie.txt&quot;);\ncurl_setopt($ch, CURLOPT_COOKIEFILE, &quot;cookie.txt&quot;);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd73 \u5341\u3001\u4ee3\u7406\uff08\u5e38\u7528\u722c\u866b\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_PROXY, &quot;127.0.0.1:7890&quot;);\ncurl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);\n\/\/ SOCKS5\n\/\/ curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde8 \u5341\u4e00\u3001\u9519\u8bef\u5904\u7406\uff08\u91cd\u8981\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$res = curl_exec($ch);\n\nif ($res === false) {\n    echo &quot;Error: &quot; . curl_error($ch);\n} else {\n    echo $res;\n}\n\ncurl_close($ch);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\ude80 \u5341\u4e8c\u3001\u5e76\u53d1\u591a\u7ebf\u7a0b\uff08curl_multi\uff09\u9ad8\u624b\u5fc5\u4f1a<\/h1>\n\n\n\n<p>\u8ba9\u5341\u4e2a\u63a5\u53e3\u4e00\u8d77\u8bbf\u95ee\uff0c\u6bd4\u5faa\u73af\u5feb\u51e0\u5341\u500d\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$urls = &#x5B;\n    &quot;https:\/\/httpbin.org\/get?a=1&quot;,\n    &quot;https:\/\/httpbin.org\/get?a=2&quot;,\n    &quot;https:\/\/httpbin.org\/get?a=3&quot;,\n];\n\n$multi = curl_multi_init();\n$chs = &#x5B;];\n\nforeach ($urls as $i =&gt; $url) {\n    $ch = curl_init($url);\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n    curl_multi_add_handle($multi, $ch);\n    $chs&#x5B;$i] = $ch;\n}\n\n$running = null;\ndo {\n    curl_multi_exec($multi, $running);\n} while ($running);\n\nforeach ($chs as $ch) {\n    echo curl_multi_getcontent($ch), &quot;\\n\\n&quot;;\n    curl_multi_remove_handle($multi, $ch);\n}\n\ncurl_multi_close($multi);\n\n<\/pre><\/div>\n\n\n<p>\u4f60\u5df2\u7ecf\u5177\u5907\u201c\u9ad8\u5e76\u53d1 API \u8c03\u7528\u80fd\u529b\u201d\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde9 \u5341\u4e09\u3001\u751f\u4ea7\u7ea7\u5c01\u88c5\uff08\u76f4\u63a5\u590d\u5236\u5373\u53ef\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction http_request($url, $method = &quot;GET&quot;, $body = null, $headers = &#x5B;])\n{\n    $ch = curl_init();\n    curl_setopt($ch, CURLOPT_URL, $url);\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);\n    curl_setopt($ch, CURLOPT_TIMEOUT, 10);\n\n    switch (strtoupper($method)) {\n        case &quot;POST&quot;:\n            curl_setopt($ch, CURLOPT_POST, true);\n            break;\n        case &quot;PUT&quot;:\n        case &quot;DELETE&quot;:\n        case &quot;PATCH&quot;:\n            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, strtoupper($method));\n            break;\n    }\n\n    if ($body) {\n        curl_setopt($ch, CURLOPT_POSTFIELDS, $body);\n    }\n\n    if ($headers) {\n        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);\n    }\n\n    $res = curl_exec($ch);\n    $err = curl_error($ch);\n\n    curl_close($ch);\n\n    return $err ? &#x5B;&quot;error&quot; =&gt; $err] : $res;\n}\n\n<\/pre><\/div>\n\n\n<p>\u4f7f\u7528\u793a\u4f8b\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\necho http_request(&quot;https:\/\/httpbin.org\/get&quot;);\n\necho http_request(\n    &quot;https:\/\/httpbin.org\/post&quot;,\n    &quot;POST&quot;,\n    json_encode(&#x5B;&quot;a&quot; =&gt; 1]),\n    &#x5B;&quot;Content-Type: application\/json&quot;]\n);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udee1 \u5341\u56db\u3001\u5fc5\u987b\u638c\u63e1\u7684\u5b89\u5168\u8981\u70b9\uff08\u9632 SSRF\uff09<\/h1>\n\n\n\n<p>\u771f\u5b9e\u9879\u76ee\u4e2d\uff0cURL \u6765\u81ea\u7528\u6237\u8f93\u5165\u662f\u975e\u5e38\u5371\u9669\u7684\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) \u8bbe\u7f6e\u8d85\u65f6<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_TIMEOUT, 10);\ncurl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">2) \u7981\u6b62\u5185\u90e8\u5730\u5740\u8bbf\u95ee<\/h3>\n\n\n\n<p>\uff08\u9632\u6b62\u8bbf\u95ee 127.0.0.1\u3001169.254.169.254 \u5143\u6570\u636e\uff09<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3) \u7981\u6b62 file:\/\/ gopher:\/\/ \u7b49\u5371\u9669\u534f\u8bae<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$scheme = parse_url($url, PHP_URL_SCHEME);\nif (!in_array($scheme, &#x5B;&quot;http&quot;, &quot;https&quot;])) exit(&quot;blocked&quot;);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83c\udfaf \u5341\u4e94\u3001\u5e38\u89c1\u95ee\u9898\u901f\u67e5<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">Q1\uff1aPOST JSON \u600e\u4e48\u603b\u662f\u88ab\u5f53\u8868\u5355\uff1f<\/h3>\n\n\n\n<p>\u2192 \u5fc5\u987b\u624b\u52a8\u52a0&nbsp;<code>Content-Type: application\/json<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Q2\uff1a\u8fd4\u56de\u4e2d\u6587\u4e71\u7801\uff1f<\/h3>\n\n\n\n<p>\u2192 \u52a0\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncurl_setopt($ch, CURLOPT_ENCODING, &quot;&quot;);\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Q3\uff1a\u4ee3\u7406\u4e0d\u751f\u6548\uff1f<\/h3>\n\n\n\n<p>\u2192 \u786e\u8ba4\u4ee3\u7406\u7c7b\u578b\u662f HTTP \/ SOCKS5<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u9762\u8fd9\u4e00\u4efd\u662f&nbsp;\u201cPHP cURL \u65b0\u624b \u2192 \u9ad8\u624b\u201d\u5b8c\u6574\u5b9e\u6218\u6559\u7a0b\u201d\uff0c\u5305\u542b&#8230; <a class=\"more-link\" href=\"https:\/\/www.52runoob.com\/index.php\/2025\/12\/08\/php%e4%b8%adcurl%e6%96%b0%e6%89%8b%e7%a7%92%e5%8f%98%e9%ab%98%e6%89%8b%e7%9a%84%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b%e5%ae%9e%e4%be%8b\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51],"tags":[],"class_list":["post-643","post","type-post","status-publish","format-standard","hentry","category-php-"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/comments?post=643"}],"version-history":[{"count":1,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/643\/revisions"}],"predecessor-version":[{"id":644,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/643\/revisions\/644"}],"wp:attachment":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/media?parent=643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/categories?post=643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/tags?post=643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}