首頁 > 後端開發 > php教程 > 这段php或是ruby的post代码如何转换翻译成Python?

这段php或是ruby的post代码如何转换翻译成Python?

WBOY
發布: 2016-07-06 13:52:41
原創
1386 人瀏覽過

这是一个百度站长平台的推送事例:

post事例:

POST /urls?site=www.nantongzt.com&token=xxxxxx HTTP/1.1
User-Agent: curl/7.12.1
Host: data.zz.baidu.com
Content-Type: text/plain
Content-Length: 83
http://www.example.com/1.html
http://www.example.com/2.html

php的推送事例:

<code class="php">$urls = array(
    'http://www.example.com/1.html',
    'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=www.nantongzt.com&token=xxxxxx';
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $urls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;</code>
登入後複製
登入後複製

ruby的事例

<code class="ruby">require 'net/http'
urls = ['http://www.example.com/1.html', 'http://www.example.com/2.html']
uri = URI.parse('http://data.zz.baidu.com/urls?site=www.nantongzt.com&token=xxxxxx')
req = Net::HTTP::Post.new(uri.request_uri)
req.body = urls.join("\n")
req.content_type = 'text/plain'
res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
puts res.body</code>
登入後複製
登入後複製

其实应该很简单,就是如何用python post提交数据.
但是看php和ruby的代码又不是很像~
希望有高人指点一下,个人比较菜~希望有翻译得详细一点,谢谢了!

回复内容:

这是一个百度站长平台的推送事例:

post事例:

POST /urls?site=www.nantongzt.com&token=xxxxxx HTTP/1.1
User-Agent: curl/7.12.1
Host: data.zz.baidu.com
Content-Type: text/plain
Content-Length: 83
http://www.example.com/1.html
http://www.example.com/2.html

php的推送事例:

<code class="php">$urls = array(
    'http://www.example.com/1.html',
    'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=www.nantongzt.com&token=xxxxxx';
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $urls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;</code>
登入後複製
登入後複製

ruby的事例

<code class="ruby">require 'net/http'
urls = ['http://www.example.com/1.html', 'http://www.example.com/2.html']
uri = URI.parse('http://data.zz.baidu.com/urls?site=www.nantongzt.com&token=xxxxxx')
req = Net::HTTP::Post.new(uri.request_uri)
req.body = urls.join("\n")
req.content_type = 'text/plain'
res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
puts res.body</code>
登入後複製
登入後複製

其实应该很简单,就是如何用python post提交数据.
但是看php和ruby的代码又不是很像~
希望有高人指点一下,个人比较菜~希望有翻译得详细一点,谢谢了!

<code>#coding=utf-8

import requests

urls = [
    'http://www.example.com/1.html',
    'http://www.example.com/2.html'
]

api = 'http://data.zz.baidu.com/urls?site=www.nantongzt.com&token=xxxxxx'
data = '\n'.join(urls)
headers = {'Content-Type': 'text/plain'}

r = requests.post(api, data=data, headers=headers)
print r.text</code>
登入後複製

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板