V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  adrianzhang  ›  全部回复第 55 页 / 共 77 页
回复总数  1521
1 ... 51  52  53  54  55  56  57  58  59  60 ... 77  
2015-08-31 18:46:21 +08:00
回复了 adrianzhang 创建的主题 Python 怎么样从一个含有 xml 标签的字符串中截取内容
@secondwtq
@abelyao

标签不变。想了很多方法,解析 xml 啦,解析 html 啦,等等,都好复杂。只有这方法能一条语句解决问题。
2015-08-31 18:38:57 +08:00
回复了 adrianzhang 创建的主题 Python 怎么样从一个含有 xml 标签的字符串中截取内容
@abelyao
@seki
谢谢两位帮忙。我想到了一个简单的办法:取这个字符串的[68:-9]
2015-08-30 22:53:25 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@ljbha007
又解决一个: request_url 只能设置域名,不可设置路径,要在 request_token.request ("POST", "", params, headers ) 这句里面 POST 后那个地方加上路径。
但仍然不行。

最后!还是太谢谢你了!! 最后最后一个问题就是:要去掉那个"Accept": "text/plain"
2015-08-30 22:36:30 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@ljbha007
目前发现的问题有:使用元组替换字典。这样才有正确的顺序。
params = urllib.urlencode ((('grant_type', self.grant_type ), ('scope', self.scope ), ('client_id', self.client_id ), ('client_secret', self.client_secret )))

请求是 https 而不是 http ,所以还要把 request_token = httplib.HTTPConnection (self.request_url )换成 request_token = httplib.HTTPSConnection (self.request_url )

但现在这两个改了以后还是拿不到 json 格式的 token 。
2015-08-30 20:48:02 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@ljbha007 好的,我试试。多谢。
2015-08-30 20:43:00 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@ljbha007
加 @是参考这里: https://docs.python.org/2/library/httplib.html 的 POST sample 。
经测试,去掉 @,还是 400 ;去掉 text/plain ,还是 400 ; 改成 application/json ,还是 400 。太邪门了。
2015-08-30 20:33:41 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
为什么不支持我的代码块??
2015-08-30 20:32:45 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@ljbha007 忘记用 markdown 了。代码如下:

```

class Microsoft_translator_api ():
"""translate text only"""

def __init__(self, text ):
self.text = text
self.request_url = "datamarket.accesscontrol.windows.net/v2/OAuth2-13"
self.client_id = "我的应用名"
self.client_secret = "我的密钥"
self.grant_type = "client_credentials"
self.scope = "http://api.microsofttranslator.com"

def get_token (self ):
params = urllib.urlencode ({'@grant_type': self.grant_type, '@scope': self.scope, '@client_id': self.client_id, '@client_secret': self.client_secret})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
request_token = httplib.HTTPConnection (self.request_url )
request_token.request ("POST", "", params, headers )
response = request_token.getresponse ()
print response.status, response.reason
token = response.read ()
#print token
request_token.close ()
return (token )

```
2015-08-30 20:28:31 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@ChoateYao 谢谢,又学了一招。
2015-08-30 20:27:54 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@feiyuanqiu
多谢!明白了这个构造。

@ljbha007
很感激这么详细的说明。我是用 python 来构造这个的。所以就想知道 PHP 这个实现跟我的到底哪儿不一样。不知你是否也懂 python ,若懂,也请看看我这段代码到底怎么回事,总是拿不回 token 的 json 值。写成以下这样,总是得到 400 bad request 。



class Microsoft_translator_api ():
"""translate text only"""

def __init__(self, text ):
self.text = text
self.request_url = "datamarket.accesscontrol.windows.net/v2/OAuth2-13"
self.client_id = "我的应用名"
self.client_secret = "我的密钥"
self.grant_type = "client_credentials"
self.scope = "http://api.microsofttranslator.com"

def get_token (self ):
params = urllib.urlencode ({'@grant_type': self.grant_type, '@scope': self.scope, '@client_id': self.client_id, '@client_secret': self.client_secret})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
request_token = httplib.HTTPConnection (self.request_url )
request_token.request ("POST", "", params, headers )
response = request_token.getresponse ()
print response.status, response.reason
token = response.read ()
#print token
request_token.close ()
return (token )
2015-08-30 19:43:32 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@des 还是不行,麻烦看一眼那源代码,给个指示,该怎么截胡。。求你了。

@shiny 啊呀,动静好大。。怎么在这个 php 里给 curl 设置代理呢?
2015-08-30 19:33:01 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@des 好的,我试试。
2015-08-30 19:11:19 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@seki 还是不出结果
我是把源文件里: curl_setopt ($ch, CURLOPT_URL, $authUrl );
改成
$test = curl_setopt ($ch, CURLOPT_URL, $authUrl );
echo $test;

然后再执行 php test.php ,但是还是没有结果。应该改成什么呢?
2015-08-30 19:03:01 +08:00
回复了 adrianzhang 创建的主题 问与答 怎么观察 PHP 程序的执行
@falcon05 痛苦的是这是个 https 请求,我用了 tcpdump ,也是一片茫然~~

@seki 懂了,多谢。
1 ... 51  52  53  54  55  56  57  58  59  60 ... 77  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3937 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 10:16 · PVG 18:16 · LAX 03:16 · JFK 06:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.