标签: httpresponse

渲染以响应Django中的重定向URL

在表单提交方案中,表单将发布到"/ submit".我想在成功时将用户重定向到"/ sucess",并将一些消息传递给新网址的模板.如何在Django中执行此操作?render_to_response不进行重定向,HttpResponseRedirect不进行模板渲染.

django redirect httpresponse

3
推荐指数
1
解决办法
9902
查看次数

浏览器,Safari和Opera尤其需要了解HTTP响应?

我有一个HTTP响应

HTTP/1.0 200 OK\r\n\r\n
<!DOCTYPE html>...
Run Code Online (Sandbox Code Playgroud)

Firefox和Chrome似乎都很好理解它并显示HTML内容 - 但Safari和Opera只是以纯文本显示所有内容.添加"内容类型"字段会使所有浏览器的内容混乱.

有什么收获?

我不会发布完整的代码,因为有很多与该问题无关的任意编程逻辑,但是,发生的事情是这样的:

我创建一个套接字,然后发生所有相关的套接字操作 - 这一切都像魔术一样,然后经过所有处理我.send('响应在这里')并且出于某种原因它只在Firefox和Chrome上显示.

响应字符串如下所示:

'''
HTTP/1.1 200 OK\r\n
<!DOCTYPE html>
...
...
</html>
'''
Run Code Online (Sandbox Code Playgroud)

这就是我所看到的:http: //cl.ly/0y0U1s0G3X2v1C11282S

python http httpresponse

3
推荐指数
1
解决办法
194
查看次数

使用Django HttpResponse返回二进制数据

我正在尝试让Django的HttpResponse返回二进制数据,但没有成功。我已经尝试了一段时间的不同方法,但没有成功。

只要二进制数据值不在ASCII字符范围(小于0-255)的范围内,就可以将字符串编码为ASCII。使用latin-1进行编码时也发生了同样的情况。

创建字节字符串效果很好,但是如果包含某些值,则创建失败,例如,如果我在数据中包含以下字节:“ \ xf6 \ x52”,结果将得到不同的字节。由于某种原因,当我尝试查看结果响应时,第一个字节\ xf6被转换为0xfffd。

我希望获得一些反馈并为此提供帮助。

非常感谢!

-一种-

python string django binary httpresponse

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

访问请求 JSONObject 时的 Flask POST 400 错误

我正在开发一个 android 应用程序,其中 android 移动客户端通过 Flask REST API 与服务器通信。特定移动设备间歇性地从服务器接收 400 响应,用于 POST 端点之一。

以下是相关的服务器端代码:

def post(self):
            app.logger.info("Request :" + request.url)
            if request.headers['Content-Type'] == "application/json":
                    tok = str(request.json['tok'])
                    user_id = str(request.json['user_id'])
                    contact = str(request.json['contact'])   
                    .
                    .
                    .
            else:
                    response = jsonify({"message": "Unsupported Media Type"})
                    response.status_code = 415
                    return response
Run Code Online (Sandbox Code Playgroud)

一旦在 if 条件中访问请求 json 对象,就会返回响应 400。

以下是用于对 json 对象进行编码并执行 post 请求的 android java 代码:

    HttpParams httpParameters = new BasicHttpParams();
    HttpConnectionParams.setConnectionTimeout(httpParameters,Constants.HTTP_CONNECTION_TIMEOUT);
    HttpConnectionParams.setSoTimeout(httpParameters, Constants.HTTP_SOCKET_TIMEOUT);
    HttpClient client = new DefaultHttpClient(httpParameters);
    URL url = null;
    URI …
Run Code Online (Sandbox Code Playgroud)

rest android json httpresponse flask

3
推荐指数
1
解决办法
1908
查看次数

将html响应内容的charset设置为1252

我正在尝试在HTTP响应中发送一些在Windows 1252中编码的数据(它是一个CSV文件),但在某些地方,它会被重新编码为UTF-8(无BOM).如何确保数据保持正确的编码?

var sb = new StringBuilder();
// Build the file from windows-1252 strings in the sb...
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("filename=\"{0}\".csv", fileName));
HttpContext.Current.Response.ContentType = "text/csv;charset=windows-1252";
HttpContext.Current.Response.Charset = "windows-1252";
HttpContext.Current.Response.Write(sb.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
Run Code Online (Sandbox Code Playgroud)

c# httpresponse character-encoding windows-1252

3
推荐指数
1
解决办法
6996
查看次数

为什么我得到 Android : The target server failed to response?

API链接: http://www.familybuds.com/storegrunt-new/api_home/validate_step_one/platform/1

POST 参数:store_name = "abc"代码在 GoDaddy 服务器上

这个 api 一直工作到 7 月 25 日,但突然从 26 号早上开始在 Android APP 上停止工作。相同的 api 在 iPhone APP 上运行良好。

安卓代码:

HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 10000);
HttpConnectionParams.setSoTimeout(httpParameters, 10000+12000);

DefaultHttpClient  client = new DefaultHttpClient(httpParameters);
HttpPost httppost = new HttpPost(url);

HttpResponse response; 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

client.addRequestInterceptor(new HttpRequestInterceptor() {              

        @Override
        public void process(HttpRequest request, HttpContext context)
                throws HttpException, IOException {
            // TODO Auto-generated method stub
            if (!request.containsHeader("Accept-Encoding")) {
                request.addHeader("Accept-Encoding", "gzip");
            }
        }

    });

client.addResponseInterceptor(new HttpResponseInterceptor() …
Run Code Online (Sandbox Code Playgroud)

api android http httpresponse

3
推荐指数
1
解决办法
8916
查看次数

AttributeError:'Response'对象没有python的属性'body_as_unicode'scrapy

我正在处理scrapy中的响应并继续收到此消息.

我只给出了发生错误的片段.我正在尝试浏览不同的网页,并且需要获取该特定网页中的#个页面.所以我创建了一个响应对象,我得到了下一个按钮的href,但继续得到AttributeError: 'Response' object has no attribute 'body_as_unicode'

代码使用.

from scrapy.spiders import Spider
from scrapy.selector import Selector
from scrapy.http import Request
from scrapingtest.items import ScrapingTestingItem
from collections import OrderedDict
import json
from scrapy.selector.lxmlsel import HtmlXPathSelector
import csv
import scrapy
from scrapy.http import Response

class scrapingtestspider(Spider):
    name = "scrapytesting"
    allowed_domains = ["tripadvisor.in"]
 #   base_uri = ["tripadvisor.in"]

    def start_requests(self):
        site_array=["http://www.tripadvisor.in/Hotel_Review-g3581633-d2290190-Reviews-Corbett_Treetop_Riverview-Marchula_Jim_Corbett_National_Park_Uttarakhand.html"
                    "http://www.tripadvisor.in/Hotel_Review-g297600-d8029162-Reviews-Daman_Casa_Tesoro-Daman_Daman_and_Diu.html",
                    "http://www.tripadvisor.in/Hotel_Review-g304557-d2519662-Reviews-Darjeeling_Khushalaya_Sterling_Holidays_Resort-Darjeeling_West_Bengal.html",
                    "http://www.tripadvisor.in/Hotel_Review-g319724-d3795261-Reviews-Dharamshala_The_Sanctuary_A_Sterling_Holidays_Resort-Dharamsala_Himachal_Pradesh.html",
                    "http://www.tripadvisor.in/Hotel_Review-g1544623-d8029274-Reviews-Dindi_By_The_Godavari-Nalgonda_Andhra_Pradesh.html"]

        for i in range(len(site_array)):
            response = Response(url=site_array[i])
            sites = Selector(response).xpath('//a[contains(text(), "Next")]/@href').extract()
 #           sites = response.selector.xpath('//a[contains(text(), "Next")]/@href').extract()
            for …
Run Code Online (Sandbox Code Playgroud)

python httpresponse scrapy web-scraping

3
推荐指数
1
解决办法
7042
查看次数

在 Go 中,如何有效地将流式 http 响应正文写入文件中的查找位置?

我有一个程序,它结合了多个 http 响应并写入文件上的相应搜索位置。我目前正在这样做

client := new(http.Client)
req, _ := http.NewRequest("GET", os.Args[1], nil)
resp, _ := client.Do(req)
defer resp.Close()
reader, _ := ioutil.ReadAll(resp.Body) //Reads the entire response to memory
//Some func that gets the seek value someval
fs.Seek(int64(someval), 0)
fs.Write(reader)
Run Code Online (Sandbox Code Playgroud)

这有时会导致大量内存使用,因为ioutil.ReadAll.

我想bytes.Buffer作为

buf := new(bytes.Buffer)
offset, _ := buf.ReadFrom(resp.Body) //Still reads the entire response to memory.
fs.Write(buf.Bytes())
Run Code Online (Sandbox Code Playgroud)

但还是一样。

我的意图是使用缓冲写入文件,然后再次寻找偏移量,并再次继续写入直到收到流的结尾(从而从 buf.ReadFrom 中捕获偏移值)。但它也将所有内容保存在内存中并立即写入。

将类似的流直接写入磁盘而不将整个内容保留在缓冲区中的最佳方法是什么?

一个理解的例子将不胜感激。

谢谢你。

io http httpresponse go

3
推荐指数
1
解决办法
1447
查看次数

如何使用CakePHP 3.4输出自定义HTTP正文内容?回声导致"无法发出标头"错误

使用CakePHP 3.4,PHP 7.0.

我正在尝试使用一个非常简单的控制器方法来输出一些JSON.它输出"无法修改标题...".

public function test() {
    $this->autoRender = false;
    echo json_encode(['method' => __METHOD__, 'class' => get_called_class()]);
}
Run Code Online (Sandbox Code Playgroud)

浏览器输出

{"method":"App\\Controller\\SomeController::test", "class":"App\\Controller\\SomeController"}

Warning (512): Unable to emit headers. Headers sent in file=...
Warning (2): Cannot modify header information - headers already sent by (output started at ...)
Warning (2): Cannot modify header information - headers already sent by (output started at ...)
Run Code Online (Sandbox Code Playgroud)

我完全理解为什么PHP抱怨这个.问题是为什么CakePHP会抱怨我该怎么办?

应该注意的是,CakePHP 2.x允许这样做.

php cakephp httpresponse cakephp-3.x cakephp-3.4

3
推荐指数
1
解决办法
2580
查看次数

如何在HttpResponse Django中返回多个文件

我一直在为这个问题绞尽脑汁。django中是否有一种方法可以从单个HttpResponse提供多个文件?

我有一种情况,我正在遍历json列表,并希望以管理员视图的形式将所有这些返回为文件。

class CompanyAdmin(admin.ModelAdmin):
    form = CompanyAdminForm
    actions = ['export_company_setup']

    def export_company_setup(self, request, queryset):
        update_count = 0
        error_count = 0
        company_json_list = []
        response_file_list = []
        for pb in queryset.all():
            try:
                # get_company_json_data takes id and returns json for the company.
                company_json_list.append(get_company_json_data(pb.pk))
                update_count += 1
            except:
                error_count += 1

        # TODO: Get multiple json files from here.
        for company in company_json_list:
            response = HttpResponse(json.dumps(company), content_type="application/json")
            response['Content-Disposition'] = 'attachment; filename=%s.json' % company['name']
            return response
        #self.message_user(request,("%s company setup extracted and %s company …
Run Code Online (Sandbox Code Playgroud)

python django json httpresponse zipfile

3
推荐指数
1
解决办法
3083
查看次数