标签: request

烧瓶:`@after_this_request` 不工作

我想在用户下载由 Flask 应用程序创建的文件后删除一个文件。

为此,我在 SO 上找到了这个答案,它没有按预期工作,并引发了一个after_this_request未定义的错误。

因此,我更深入地研究了Flask 的文档,其中提供了有关如何使用该方法的示例片段。因此,我通过定义after_this_request示例代码段中所示的函数来扩展我的代码。

执行代码resp。运行服务器按预期工作。但是,该文件没有被删除,因为@after_this_request没有被调用,这很明显,因为After request ...它没有打印到终端中 Flask 的输出:

#!/usr/bin/env python3
# coding: utf-8


import os
from operator import itemgetter
from flask import Flask, request, redirect, url_for, send_from_directory, g
from werkzeug.utils import secure_filename

UPLOAD_FOLDER = '.'
ALLOWED_EXTENSIONS = set(['csv', 'xlsx', 'xls'])

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER


def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS


def …
Run Code Online (Sandbox Code Playgroud)

python request delete-file flask python-3.x

2
推荐指数
2
解决办法
5994
查看次数

django request.POST.getlist[my_list', None] 为不存在的键返回 []

我正在使用 Django 1.10.2。

在一个视图中,下面的返回 []

    print(request.POST.getlist('collected_already', None))
    print(request.POST.getlist('collected_already[]', None))
    print(request.POST.getlist('non_existent', None))
    print(request.POST.getlist('non_existent[]', None))
Run Code Online (Sandbox Code Playgroud)

我希望 non_existent 键返回 None ,并在发送空列表时返回 [] 。

我的解决方法是发送和检测 ['blank'] 而不是 []。

我很感激指针。带着最美好的祝愿,安迪。

django list request

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

如何在帖子数据python中接收字典

我正在尝试将数组作为参数发送到使用 python 和django框架的 api 。

这是我用于访问的客户端代码api

$.ajax(
    type: 'POST',
    url:    'http://example.com/api/users',
    data:   {user:{name:'Rohit Khatri', age:20, father_name:'S.K'},type:'info'},
    complete: function(response) {
        console.log(response);
    }
);
Run Code Online (Sandbox Code Playgroud)

这是我尝试访问请求参数的视图

def get_users(request):
    print(request.POST.get('ids'))
Run Code Online (Sandbox Code Playgroud)

当我尝试访问ids参数时,它没有给出。如果有人遇到同样的问题,请帮助我。

python django parameters dictionary request

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

在 golang 中多次请求后多次关闭响应正文

这篇文章中,指出应该关闭 response.Body 以避免资源泄漏。它也显示在http 包 godoc中的概述示例中。

在我的测试代码中,我发送了多个请求来尝试一个 API

resp, err := http.DefaultClient.Do(req)

在同一个函数中多次。这是一种不好的做法吗?在这种情况下,我是defer resp.Body.Close()在每个人之后写,还是只写一次?

url := server.URL + "/ticket/add"                                       
reader = strings.NewReader(`{"id": "test1", "detail": "test1"}`)        
req, err := http.NewRequest("POST", url, reader)                        
assert.Nil(t, err)               

resp, err := http.DefaultClient.Do(req)                                 
assert.Nil(t, err)                                                      

defer resp.Body.Close()                                                 

assert.Equal(t, http.StatusCreated, resp.StatusCode)                    
// add a ticket with same id                                            
reader = strings.NewReader(`{"id": "test1"}`)                           
req, err = http.NewRequest("POST", url, reader)                         
assert.Nil(t, err)                                                      

resp, err = http.DefaultClient.Do(req)                                  
assert.Nil(t, err)                                                      
assert.Equal(t, http.StatusInternalServerError, resp.StatusCode)   
Run Code Online (Sandbox Code Playgroud)

一个相关的问题,在服务器端,即在 内部func(w …

rest http response request go

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

使用特定的网络接口执行请求

是否可以使用特定的网络接口在 NodeJS 中执行 GET/POST 请求?

即使用 CURL 我可以调用两个 POST 调用,例如:

curl -X POST --interface wlan0 http://192.168.1.5/resource
curl -X POST --interface wlan1 http://192.168.1.5/resource
//                       ^^^^^
Run Code Online (Sandbox Code Playgroud)

两个 IP 地址都是不同的机器- 所以第一个 WiFi 模块连接到一个 SSID,第二个连接到一个非常不同的网络,但是由于一些最高要求(它们位于不同的隔离网络中),IP 地址是相等的。

networking request node.js

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

当我执行 GET 请求(在 Python 中)时,我得到翻译的文本。如何获取英文内容?

我正在尝试通过网络抓取此页面以获得乐趣。

剧本运行良好,但有些电影的名字被翻译成罗马尼亚语(例如,“美女与野兽”“Frumoasa si Bestia”)。

我猜服务器正在根据我的 IP 向我发送请求的内容。

但是,在我的浏览器中,我只能看到英文名称,无论我是使用我的 IP 还是通过浏览器的扩展程序激活 VPN。这可能是因为浏览器的语言设置为英语并且翻译选项关闭。

我的问题是:如何获得所有英文名字?

我可以在我的GET请求中指定一些参数来做到这一点吗?

import requests
page = requests.get(some_URL)
Run Code Online (Sandbox Code Playgroud)

I was also thinking about using a server VPN (not just a browser extension), but I'm running on Lubuntu and there seems to be a lot headache in installing a free VPN (accounts to be made etc.).

If it helps, I use Jupyter Notebook to code.

python ip-address request web-scraping

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

javascript 中的存根请求库

我正在使用第三方宁静服务发送短信验证码。我为它写了一个单元测试。但是,我不希望每次运行单元测试时都收到一条消息。

代码是这样的:

  const _request = require("request");

  _request({
  method: "POST",
  url: "http://blah.com/json",
  form: {
    apikey: "blah",
    mobile: input.mobilePhoneNumber,
    text: `code is: ${verificationCode}`,
  }
}, (err, res, body) => {
  if (err) {
    dbg(`end, output=${err}`)
    return reject(new Error("something wrong"))
  } else {
    dbg(`end, output=${res}`)
    return resolve({})
  }
})
Run Code Online (Sandbox Code Playgroud)

在测试中我使用 sinon.stub

sinon.stub(request, "post").returns(Promise.resolve({}))
Run Code Online (Sandbox Code Playgroud)

然而,这个存根并没有真正捕捉到请求中的“post”方法。我查看了源代码并尝试了很多方法(比如存根构造函数),但没有一个有效。

想知道有没有人以前试过这个。我应该如何根据要求存根这个 post 方法?

谢谢!

javascript unit-testing request mocha.js sinon

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

尝试使用 Oauth 1.0 在 Wordpress API 中创建帖子时出现 401

我正在尝试通过 Wordpress API v2 创建一个 Wordpress 帖子,但是当我执行 axios.post 时,oauth 1.0 向我抛出 401。当我执行 axios.get 时,一切都很完美,我得到了结果。

我可以毫无问题地通过 Postman 创建或删除帖子,但它会自动配置自己。如果我能以某种方式从邮递员那里复制请求并将其放入 axios 代码中,那就太好了,但找不到此选项。

我尝试将内容类型的标头指定为 application/json,如下所示:

headers: {
    'Content-Type': 'application/json'
}
Run Code Online (Sandbox Code Playgroud)

就像在 Postman 中一样,但仍然没有变化。

我正在使用 Oauth 签名生成器,并且正如所指出的那样,它正在 GET 请求中工作。https://www.npmjs.com/package/oauth-signature

这是获取和发布请求的代码:

getRequest = () => {
    const requestParams = { ...this.state.parameters }
    requestParams.oauth_nonce = this.generateNonce()
    requestParams.oauth_timestamp = new Date()
      .getTime()
      .toString()
      .slice(0,10)
    const encodedSignature = oauthSignature.generate(
      'GET',
      'http://localhost/wordpress-api/wp-json/wp/v2/posts/29',
      requestParams,
      this.state.consumerSecret,
      this.state.tokenSecret
    )

    axios({
      url: 'http://localhost/wordpress-api/wp-json/wp/v2/posts/29',
      method: 'get',
      auth: `
        OAuth oauth_consumer_key="${requestParams.oauth_consumer_key}",
        oauth_token="${requestParams.oauth_token}",
        oauth_signature_method="${requestParams.oauth_signature_method}",
        oauth_timestamp="${requestParams.oauth_timestamp}",
        oauth_nonce="${requestParams.oauth_nonce}", …
Run Code Online (Sandbox Code Playgroud)

wordpress post oauth request axios

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

HTTP 标头的使用

developer.mozilla.org 中说:

HTTP 标头允许客户端和服务器在请求或响应中传递附加信息

但我不明白那有什么用?需要在请求或响应中传递附加信息是什么?

header http response request

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

如何传递一个包含的 url ?, / , & 里面的flask webservice方法

嗨,我正在尝试在 Flask 方法中传递一个 URL,

My url: https://example.org/de?=fg&hi=jk
Run Code Online (Sandbox Code Playgroud)

我尝试了以下步骤:

@app.route('/flip/<path:url>')
def flip(url):
    return "retrievved url:"+str(url)

calling the url : localhost:8200//flip/https://example.org/de?=fg&hi=jk 
returns : `https://example.org/de`

and another method,

@app.route('/flip')
def flip(url):
    url=request.args.get('url')
    return "retrievved url:"+str(url)


calling the url: localhost:8200//flip?url=https://example.org/de?=fg&hi=jk  
returns : 'https://example.org/de?=fg'
Run Code Online (Sandbox Code Playgroud)

我的预期输出应该返回我们传递的整个 url https://example.org/de?=fg&hi=jk

请帮忙,提前致谢

python regex web-services request flask

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