注意:事实证明这是重复的:Accessing the web page's HTTP Headers in JavaScript
有没有办法获取index.html请求的请求标头?例如,这是我点击google.com的屏幕截图

我希望能够访问请求标头。这可能吗?
那么其他 javascript/css 资源呢?
有没有办法生成具有所有属性的空白响应对象,或者我必须自己创建该类?
我只想为烧瓶应用程序提供一些比这样做更干净的东西:
class fake_request():
status_code = None
text = None
response = fake_request()
Run Code Online (Sandbox Code Playgroud) 我对 nodeJS 服务器进行了 POST 调用,该服务器在 mongo 数据库上搜索一些数据并返回包含所请求数据的 CSV 文件。问题是数据搜索和处理超过了nodeJS默认的2分钟超时。
在不同的场景中 y 使用:
res.writeHeader(200,'application/json');
res.write('starting fetch .... ');
Run Code Online (Sandbox Code Playgroud)
res.write('');通过不时发送一些请求来保持请求的活动状态并防止客户端超时。
现在我用来res.download()下载生成的 csv 文件,因此不仅仅是发送 JSON 作为响应。
尝试像这样使用这个解决方案:
res.writeHeader(200,'application/json');
res.write('starting fetch .... ');
res.download()
Run Code Online (Sandbox Code Playgroud)
但我收到“标头已发送”错误。
关于如何防止数据处理和文件下载完成之前超时的想法吗?
提前致谢
我想确定响应的大小。这是通过 resp.ContentLength 获取内容大小的简单方法。但是,大小是服务器传递的响应标头(通常是几百字节)加上响应正文的总大小。如何获取响应标头的大小?或者有没有办法直接获取响应的大小?
我有一个对 script1.php 的发布请求,该请求以 307 状态重定向到 script2.php 一个具有在 script1.php 中收到的相同数据的发布请求,我的问题是是否可以在进行之前更改 script1.php 中的发布数据在 script2.php 中重定向 so 以接收新的帖子数据?状态不一定是 307,但据我所知,仅通过此状态,您可以重定向发布请求,但无法更改数据。
谢谢你!
php redirect response.redirect response http-status-code-307
我正在开发一个 PHP 脚本:
我不知道如何获得curl_exec的最终响应。$response = call('GET', $query) 中的curl_exec; - 即使尚未完成也会返回一些响应。
这些我的循环正在等待调用函数的响应。但它不起作用 json_decode($stringJSON) 在获得最终响应之前被调用
$requestHandled = false;
$response = "";
$response = call('GET', $query);
while(!$requestHandled) {
if(strlen($response) > 5){
$response = mb_convert_encoding($response, "UTF-8");
$stringJSON = get_magic_quotes_gpc() ? stripslashes($response) : $response;
echo $stringJSON;
$jsonObject = "+";
echo $jsonObject;
$jsonObject = json_decode($stringJSON);
echo $jsonObject;
$requestHandled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的curl调用函数
function call($method, $url, $data = false) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_URL, …Run Code Online (Sandbox Code Playgroud) 我在我的项目中使用nanohttpd服务器。请求GET应发送 JSON 文件作为响应,但nanohttpd仅允许String. 我怎样才能做到这一点?
这是 GET 方法:
class GetHandler{
JSONObject response;
JSONObject doGet(Queue queue){
Map.Entry<String, Message> entry = (Map.Entry<String, Message>)queue.getQueue().entrySet().iterator().next();
String key = entry.getKey();
String value = entry.getValue().getText();
int reCount = entry.getValue().increaseCount();
queue.getQueue().remove(key);
Date date = new Date();
long time = date.getTime();
queue.getInFlightQueue().put(key,new Message(value, reCount, time));
System.out.println("ID : " + key + " Message Body : " + value);
response.put("ID",key);
response.put("Message Body", value);
return response;
}
}
Run Code Online (Sandbox Code Playgroud)
这是处理部分:
if (uriComponents[1].equals("queue") && mainHashMap.containsKey(uriComponents[2])) …Run Code Online (Sandbox Code Playgroud) 我在 S3 上有一个 .zip 文件列表,它是动态创建的并传递到 Flask view /download。我的问题似乎不在于循环访问此列表,而在于返回响应,以便将列表中的所有文件下载到用户计算机。如果我有一个视图返回响应,它只会下载第一个文件,因为返回会关闭连接。我尝试了很多方法并研究了类似的问题(例如:Boto3 to download all files from a S3 Bucket),但到目前为止还没有解决这个问题。我还研究了流媒体(如这里: http: //flask.pocoo.org/docs/1.0/patterns/streaming/)并尝试创建一个作为生成器的子函数,但同样的问题仍然存在,因为我仍然必须将返回值传递给 View 函数 - 这是最后一个代码示例:
@app.route('/download', methods=['POST'])
def download():
download=[]
download = request.form.getlist('checked')
def generate(result):
s3_resource = boto3.resource('s3')
my_bucket = s3_resource.Bucket(S3_BUCKET)
d_object = my_bucket.Object(result).get()
yield d_object['Body'].read()
for filename in download:
return Response (generate(filename), mimetype='application/zip', headers={'Content-Disposition': 'attachment;filename=' + filename})
Run Code Online (Sandbox Code Playgroud)
为了下载所有文件,最好的方法是什么?有没有更简单的方法将列表传递给 boto3 或任何其他 Flask 模块来下载这些文件?
我有这段代码可以从 URL 获取页面 HTML,但是响应内容看起来是经过编码的。
代码:
HttpWebRequest xhr = (HttpWebRequest) WebRequest.Create(new Uri("https://www.youtube.com/watch?v=_Ewh75YGIGQ"));
xhr.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
//xhr.CookieContainer = request.Account.CookieContainer;
xhr.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
xhr.Headers["Accept-Encoding"] = "gzip, deflate, br";
xhr.Headers["Accept-Language"] = "en-US,en;q=0.5";
xhr.Headers["Upgrade-Insecure-Requests"] = "1";
xhr.KeepAlive = true;
xhr.UserAgent = "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)";
xhr.Host = "www.youtube.com";
xhr.Referer = "https://www.youtube.com/watch?v=6aCpYxzRkf4";
var response = xhr.GetResponse();
string html;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
html = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
这些是响应标头:
X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000
Content-Encoding: …Run Code Online (Sandbox Code Playgroud) 我是一个相当新的 graphQL。我的要求是发送查询时,graphQL 应返回 JSON 响应,如下所示
{
user: '$',
name: 'Josh',
age: '30'
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但没有达到结果。
var express = require('express');
var graphqlHTTP = require('express-graphql');
var { buildSchema } = require('graphql');
var schema = buildSchema(`
type Query {
user: String!
}
`);
// JSON
var json = {
user: '$',
name: 'Josh',
age: '30'
};
var root = {
user: () => {
return json;
}
};
var app = express();
app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true,
}));
app.listen(4000);
console.log('Running a …Run Code Online (Sandbox Code Playgroud)