标签: http-request

在Racket中POST/GET绑定

是否有内置的方法来获取Racket中的POST/GET参数?extract-binding和朋友们做我想做的事情,但是关于与文件上传有关的潜在安全风险的结论是可怕的

因此,我们建议不要使用它们,但它们是为了与旧代码兼容而提供的.

我能想到的最好的是(提前原谅我)

(bytes->string/utf-8 (binding:form-value (bindings-assq (string->bytes/utf-8 "[field_name_here]") (request-bindings/raw req))))
Run Code Online (Sandbox Code Playgroud)

但这似乎不必要地复杂化(似乎它会受到Bindings部分中记录的一些相同错误的影响).

在给定字段名称和请求的情况下,是否有一个或多或少的标准,无错误的方法来获取POST/GET变量的值?或者更好的是,将POST/GET值的集合作为列表/散列/列表返回的方法是什么?除了其中任何一个,是否有一个函数可以做同样的事情,但只有POST变量,忽略GET?

post-parameter racket http-request

5
推荐指数
1
解决办法
1111
查看次数

将PHP PUT HTTP请求转换为ColdFusion

这段代码在ColdFusion中会是什么样子?

  protected function httpPut($url, $params = null, $data = null)
  {
      $fh = fopen('php://memory', 'rw');
          fwrite($fh, $data);
          rewind($fh);

    $ch = curl_init($url);
    $this->addOAuthHeaders($ch, $url, $params['oauth']);
    curl_setopt($ch, CURLOPT_PUT, 1);
    curl_setopt($ch, CURLOPT_INFILE, $fh);
    curl_setopt($ch, CURLOPT_INFILESIZE, strlen($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $resp  = $this->curl->addCurl($ch);
    fclose($fh);
    return $resp;
  }
Run Code Online (Sandbox Code Playgroud)

我有类似下面的东西,但它似乎没有工作.

<cffile action="write" file="d:\my\directory\path\test.xml" output="#arguments.requestXML#">
<cfhttp url="#oaAccessTokenURL#" method="#arguments.requestType#" charset="UTF-8">
    <cfheader name="Authorization" value="#oauthheader#">
    <cfhttpparam type="file" name="Course" file="d:\my\directory\path\test.xml">    
</cfhttp>
Run Code Online (Sandbox Code Playgroud)

我不太了解PHP,以了解如何将$ data变量(只是一串XML数据)放入http请求以及如何在ColdFusion中复制它.

php xml coldfusion http-request

5
推荐指数
1
解决办法
767
查看次数

使用 python-requests 模块更新会话中的 Cookie

我正在使用python-requests模块来处理 oAuth 请求和响应。我想在对象中设置收到的access_token(响应内容为dictrequests.session.cookies

如何使用从服务器收到的响应更新会话的现有 cookie?

[编辑]

self.session = requests.session(auth=self.auth_params)
resp = self.session.post(url, data=data, headers=self.headers)
content = resp.content
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情:

requests.utils.dict_from_cookiejar(self.session.cookies).update(content)
Run Code Online (Sandbox Code Playgroud)

在这里,requests.utils.dict_from_cookiejar(self.session.cookies)返回带有一个会话密钥的dict。现在,我想在self.session.cookies.

python session-cookies oauth-2.0 http-request python-requests

5
推荐指数
1
解决办法
2万
查看次数

如何一次在python中发送异步http请求?

我们有一系列工作,工人一次处理这些工作.每个作业都要求我们格式化一些数据并发出HTTP POST请求,并将数据作为请求有效负载.

我们如何让每个工作人员以单线程,非阻塞方式异步发出这些HTTP POST请求?我们不关心请求的响应 - 我们想要的只是请求尽快执行,然后让工作人员立即进入下一个工作.

我们已经探索了使用geventgrequests库(请参阅为什么gevent.spawn在调用Greenlet.join之前不执行参数化函数?).我们的工作代码看起来像这样:

def execute_task(worker, job):

    print "About to spawn request"
    greenlet = gevent.spawn(requests.post, url, params=params)

    print "Request spawned, about to call sleep"
    gevent.sleep()

    print "Greenlet status: ", greenlet.ready()
Run Code Online (Sandbox Code Playgroud)

执行第一个print语句,但第二个和第三个打印语句永远不会打印,并且永远不会命中url.

我们如何才能执行这些异步请求?

python asynchronous gevent http-request

5
推荐指数
1
解决办法
2880
查看次数

服务器启动端口花费太多时间

我正在使用 Ubuntu 14.04,我正在尝试安装 Laravel 框架。为此,我在终端中运行了以下代码:

php工匠服务

等了 4-5 分钟后,我得到了这样的回复:

Laravel 开发服务器在http://localhost:8000/上启动

[2015 年 5 月 26 日星期二 13:19:40] 127.0.0.1:44800 [200]: /favicon.ico

[2015 年 5 月 26 日星期二 13:19:40] 127.0.0.1:44801 [200]: /favicon.ico

等了 10 多分钟后,尽管终端正在工作,但我没有收到更多回复。

真的需要那么多时间吗?或者出了什么问题?

php http-request ubuntu-14.04

5
推荐指数
1
解决办法
4186
查看次数

Python请求模块和JSON响应

我使用了很棒的 Requests模块来测试我为我们的一个内部项目创建的API.我相信我已经发现了Requests模块本身的缺陷,或者我使用它的缺陷.

由于我们的数据不是超敏感的,因此我们的API使用简单的基本HTTP身份验证来控制访问.当我做了API URL的请求,使用JSON作为数据格式,要么用的urllib2或HTTPBasicAuthHandler PHP和卷曲,我得到我的数据备份的格式正确的JSON字符串 - 没问题.

但是,当我使用Requests模块发出相同的请求时,我得到一个编码的字符串,我无法确定它是什么类型的编码.这是该字符串开头的片段:

\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\xadZ\xfb\x8f\xd3H\x12\xfeWzG\xab;\x90
Run Code Online (Sandbox Code Playgroud)

以下是我使用请求重现此问题的几行代码:

import requests
# api_user and api_pw not printed here for security reasons
r = requests.get('http://ourdomain.com/api/featured/school/json', auth=(api_user, api_pw))
status = r.status_code # Produces 200 every time
rawdata = r.read()
print rawdata
Run Code Online (Sandbox Code Playgroud)

每次我这样做,我都会得到编码的字符串.

任何人都可以帮我确定:a)什么编码(对于我自己的启发),和b)为什么请求返回该编码中的数据,以及如何解码和/或"修复"它.

提前致谢!

python json http-request python-requests

4
推荐指数
1
解决办法
4583
查看次数

Android HTTP请求AsyncTask

我想实现一个类来处理我的应用程序的所有HTTP请求,它基本上是:

  • 获取业务清单(GET);
  • 执行登录(POST);
  • 更新位置(POST).

因此,我将不得不从服务器(JSON)获取结果字符串并将其传递给另一个方法来处理响应.

我目前有这样的方法:

public class Get extends AsyncTask<Void, Void, String> {
    @Override
    protected String doInBackground(Void... arg) {
        String linha = "";
        String retorno = "";

        mDialog = ProgressDialog.show(mContext, "Aguarde", "Carregando...", true);

        // Cria o cliente de conexão
        HttpClient client = new DefaultHttpClient();
        HttpGet get = new HttpGet(mUrl);

        try {
            // Faz a solicitação HTTP
            HttpResponse response = client.execute(get);

            // Pega o status da solicitação
            StatusLine statusLine = response.getStatusLine();
            int statusCode = statusLine.getStatusCode();

            if (statusCode == 200) { …
Run Code Online (Sandbox Code Playgroud)

android http-request

4
推荐指数
1
解决办法
2万
查看次数

Java如何在建立TCP连接后处理HTTP GET请求

在建立我的连接并接受一个连接之后:

ServerSocket serverSock = new ServerSocket(6789);
Socket sock = serverSock.accept();
Run Code Online (Sandbox Code Playgroud)

当我输入我的浏览器时,localhost:6789/index.html如何处理这个传入的GET请求并返回index.htmlindex.html在同一目录中.

首先,我想要index.html实际存在,如果不是,我返回HTTP 404消息.然后我将关闭连接.

java http-request

4
推荐指数
1
解决办法
2万
查看次数

使用python请求库登录网站

我已经浏览了很多关于如何使用请求库创建会话的SO线程,但我尝试的方法都没有实际登录.我对网页设计和协议的经验很少,所以请指出我可能的任何基础知识需要了解.这是我正在做的事情:

import requests

EMAIL = 'my_email'
PASSWORD = 'my_pw'
URL = 'https://account.guildwars2.com/login'

session = requests.session()

login_data = dict(username=EMAIL, password=PASSWORD)
r = session.post(URL, data=login_data)

req = session.get('https://leaderboards.guildwars2.com/en/na/achievements/guild/Darkhaven%20Elite')

print req.content
Run Code Online (Sandbox Code Playgroud)

我看到的内容是如果我没有登录就会看到的内容.

我的语法是否有任何不正确的地方,或者是我设置的登录页面的设置方式导致的问题?

python http-request python-requests

4
推荐指数
1
解决办法
2万
查看次数

与 libcurl 的持久连接

以下内容来自 libcurl 主页:

从同一服务器传输多个文件时,curl 和 libcurl 对持久连接具有出色的支持。Curl 将尝试重用同一命令行/配置文件中指定的所有 URL 的连接,并且 libcurl 将重用使用同一 libcurl 句柄进行的所有传输的连接。

可以肯定的是,如果我创建一个 CURL 句柄 (curl_easy_init()) 并设置它的标头,发出 HTTP 请求,然后更改标头并发出另一个请求,libcurl 仍将尝试使用持久连接,即使标头具有改变了?

libcurl 主页还说

如果您使用 easy 接口,并且调用curl_easy_cleanup,则 libcurl 持有的所有可能打开的连接都将被关闭并被遗忘。

因此,只要我不调用curl_easy_cleanup,即使请求是使用不同的标头发出的,CURL 也会尝试重新使用相同的连接?

谢谢。

libcurl persistent-connection http-request

4
推荐指数
1
解决办法
5585
查看次数