Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 回调函数_Php_Ruby_Callback_Oauth 2.0 - Fatal编程技术网

Php 回调函数

Php 回调函数,php,ruby,callback,oauth-2.0,Php,Ruby,Callback,Oauth 2.0,因此,在JavaScript中,当AJAX将响应发送回我发送给服务器的某些数据时,我可以让http请求启动回调,这是一个成功的回调函数。我现在正在试验用于Ruby的OAuth2 gem,我发现回调不一样 我有一个web服务器和facebook应用程序,我有一个小php脚本,可以将当前URL(包括身份验证代码)写入文件,没有问题。facebook应用程序中的所有设置都已设置,如果我将其放入浏览器的URL中: http://graph.facebook.com/oauth/authorize?cli

因此,在JavaScript中,当AJAX将响应发送回我发送给服务器的某些数据时,我可以让http请求启动回调,这是一个成功的回调函数。我现在正在试验用于Ruby的OAuth2 gem,我发现回调不一样

我有一个web服务器和facebook应用程序,我有一个小php脚本,可以将当前URL(包括身份验证代码)写入文件,没有问题。facebook应用程序中的所有设置都已设置,如果我将其放入浏览器的URL中:

http://graph.facebook.com/oauth/authorize?client_id=[my_client_id]&redirect_uri=http://localhost/oauth/callback/index.php
它成功地重定向到该脚本,然后该脚本将授权代码写入一个文件,然后我可以使用该文件获取访问令牌。问题是我只能手动完成这个过程;在ruby中使用Net::HTTP.getURIaddress命令似乎不会启动php脚本


你有什么想法吗

我不知道你为什么用javascript-ajax请求发布你的历史记录,因为它与你的ruby脚本没有关系,顺便说一句,ruby脚本甚至没有使用回调方法/函数。使用回调函数只意味着调用某个函数并将另一个函数作为参数传递给它。当我开始编程时,回调函数这个术语让我非常困惑,我认为这个术语应该从行话中删除

至于ruby脚本,当您在浏览器中手动输入url时,需要使用Firebug之类的工具查看由浏览器发送到服务器的请求头。如果您在ruby脚本中使用相同的头,那么它应该可以工作,例如:

req['header1'] = 'hello'
req['header2'] = '10'
或:

您可能在浏览器中设置了cookie,当浏览器将请求发送到服务器时,会自动将cookie添加到请求头中。您的浏览器可能会向请求添加数千个标题,其中许多标题与您的问题无关。如果您有耐心,您可以尝试找出哪个头导致ruby脚本的请求出现故障

另一个选项是使用mechanize gem,它将自动处理ruby脚本发送的请求的cookie和重定向:

读这一节,我们去拿一页;如果您使用的是Ruby1.9+,请不要使用require'rubygems'行

headers = {
  'header1' => 'hello',
  'header2' => '10',
   ...
}

req = Net::HTTP::Get.new(uri.request_uri, headers)
http = Net::HTTP.new(uri.host, uri.port)
resp = http.request(req)