小编sid*_*ker的帖子

http到https - 使浏览器请求http URL的相应​​https URL,而无需编辑所有页面并手动将所有URL更改为https?

我有兴趣将我的整个网站从http切换到https.

我担心的是我有一些内容使用绝对的http URL.

我需要编辑每个页面,以便将这些URL更改为相对,但这可能需要一段时间才能完成.

我想知道的是,是否有办法通过Google跟踪代码管理器使用Javascript,以便将本地绝对URL重写为HTTPS而不是HTTP?

如果可以的话,它可以用作永久解决方案吗?

javascript https mixed-content

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

容器元素中img srcset的正确大小?

使用LazySizes插件(https://github.com/aFarkas/lazysizes)我正在尝试构建一个图像网格,每个图像都有一个替代版本用于较小的视口.网格(容器)是基于列/行的简单百分比布局.

我不太确定如何声明图像,我只看到更大的版本.我选择使用高分辨率图像,并将容器的最大宽度缩小50%.这是图像的标记样本:

<img data-sizes="(min-width: 320px) 100vw, (min-width: 768px) 100vw"
  data-src="images/grid/image-small.jpg"
  data-srcset="images/grid/image-small.jpg 720w, images/grid/image-big.jpg 1440w"
  alt="" class="lazyload" />
Run Code Online (Sandbox Code Playgroud)

我只需要一个768px的断点.令人困惑的部分是data-sizes属性.我应该在这里声明另一个尺寸,因为图像是高分辨率还是我应该让它们具有全宽?

补充:脚本启动时生成的标记:

<img data-sizes="(min-width: 320px) 100vw, (min-width: 768px) 1440px"
  data-src="images/grid/image-small.jpg"
  data-srcset="images/grid/image-small.jpg720w, images/grid/image-big.jpg 1440w"
  alt="" class=" lazyloaded"
  sizes="(min-width: 320px) 100vw, (min-width: 768px) 1440px"
  srcset="images/grid/image-small.jpg 720w, images/grid/image-big.jpg 1440w"
  src="images/grid/image-small.jpg">
Run Code Online (Sandbox Code Playgroud)

image src srcset

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

Nginx 代理拦截重定向并将自定义重定向传递给客户端

我有一个 Web 应用程序想要在未启用 CORS 的情况下从第三方站点访问文件。请求可以是具有任意参数的任意域。我正在向我的域发送一个请求,其中包含编码为 GET 参数的目标,即

GET https://www.example.com/proxy/?url=http%3A%2F%2Fnginx.org%2Fen%2Fdocs%2Fhttp%2Fngx_http_proxy_module.html
Run Code Online (Sandbox Code Playgroud)

然后在 Nginx 中我做

location /proxy/ {
    resolver 8.8.8.8;
    set_unescape_uri $dst $arg_url;
    proxy_pass $dst;
}
Run Code Online (Sandbox Code Playgroud)

这适用于单个文件,但目标服务器有时会返回一个 Location 标头,我想拦截并修改该标头以便客户端重试。

基本上我想转义 $sent_http_location,将其附加到https://www.example.com/proxy/?url=并将其传递回浏览器以重试。

我试过做

set_escape_uri $tmp $sent_http_location;
proxy_redirect $sent_http_header /pass/?v=$tmp;
Run Code Online (Sandbox Code Playgroud)

但这行不通。我还尝试保存 Location 标头,然后忽略传入的标头

proxy_hide_header
Run Code Online (Sandbox Code Playgroud)

并用我自己的替换它

proxy_set_header
Run Code Online (Sandbox Code Playgroud)

但忽略会导致我丢失保存它的变量。

如何配置 Nginx 来完成重定向处理,以便在代理站点重定向时将编码的 URL 返回给用户?

proxy redirect nginx

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

POST更改为OPTIONS +对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-Origin'标题

XMLHttpRequest无法加载http://xxx.xxx.对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.响应的HTTP状态代码为500.

我试图用ajax发送一个xml肥皂但是给了我那个错误.我尝试了很多选项,但似乎没有任何工作,这里是代码:

var soapMessage =
                '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://xxx.xxx/">'+
                '<soapenv:Header/>'+
                '<soapenv:Body>'+
                   '<wsdl:test1>'+
                      '<PUI>12345</PUI>'+
                   '</wsdl:test1>'+
               ' </soapenv:Body>'+
             '</soapenv:Envelope>';

            $.ajax({
                url: 'http://xxx.xxx', 
                type: 'POST',
                dataType: 'xml', 
                data: soapMessage, 
                crossDomain: true,
                processData: false,
                contentType: 'text/xml; charset=\"utf-8\"',
                headers: {
                    SOAPAction: "http://xxx.xxx"
                },
                success: function (msg, data) {
                    alert(msg);

                },
                error: function (msg, data) {
                    alert("Error");
                }
            });
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?我发送一个POST动作,但它将其视为OPTION.如何解决这个问题?

我使用Boomerang Rest和Soap Client来测试这项服务,它给了我正确的响应.当我使用我自己的程序时,它给我XMLHttpRequest无法加载http:// xxxxx "错误.我使用apache tomcat 6.0并使用Java Web应用程序代码

xml ajax soap wsdl cors

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

curl:(6)无法解析主机: - header

这是我的命令,我正在使用Mac OS,

curl -X POST \
-u "{username}":"{password}" —-header "Content-Type:application/json" --data "{\"input\": {\"text\": \"Turn on the lights\"}, \"context\": {\"conversation_id\": \"1b7b67c0-90ed-45dc-8508-9488bc483d5b\", \"system\": {"dialog_stack":[{"dialog_node":"root"}], \"dialog_turn_counter\": 1, \"dialog_request_counter\": 1}}}" "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/25dfa8a0-0263-471b-8980-317e68c30488/message?version=2016-09-20"
Run Code Online (Sandbox Code Playgroud)

当我应用这个错误日志是,

curl: (6) Could not resolve host: —-header
curl: (6) Could not resolve host: Content-Type
{"error":"Unsupported Media Type"}
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.

提前致谢...

rest json curl watson-conversation watson

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

axios 相当于 curl --upload-file

我正在尝试使用他们的公共 API将 gif 上传到 Gfycat 。

这是在命令行上使用 cURL 完成的:

curl https://filedrop.gfycat.com --upload-file /tmp/name
Run Code Online (Sandbox Code Playgroud)

我尝试使用axios将其转换为 Node.js :

axios.post("https://filedrop.gfycat.com", {
    data: fs.createReadStream("/tmp/name")
}).then(console.log).catch(console.log);
Run Code Online (Sandbox Code Playgroud)

但消息错误

<?xml version="1.0" encoding="UTF-8"?>\n<Error><Code>PreconditionFailed</Code><Message>At least one of the pre-conditions you specified did not hold</Message><Condition>Bucket POST must be of the enclosure-type multipart/form-data</Condition><RequestId>6DD49EB33F41DE08</RequestId><HostId>/wyrORPfBWHZk5OuLCrH9Mohwu33vOUNc6NzRSNT08Cxd8PxSEZkzZdj/awpMU6UkpWghrQ1bLY=</HostId></Error>
Run Code Online (Sandbox Code Playgroud)

打印到控制台。

我的 Node.js 代码与 cURL 命令有何不同,使用 axios 到 cURL 命令的等效代码是什么?

javascript curl node.js axios

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

如何在curl重定向上发送数据?

我有一个当前位于 HTTP 上的 API,我使用 python Flask 中的 SSLify 库移动了该 API。现在当我使用curl请求发送数据时

curl -v -k  -H "Content-Type: application/json" -X POST \
  --data '{"title":"foobar","body": "This body"}' \
  -L http://X.Y.Z.W.us-west-2.compute.amazonaws.com/test
Run Code Online (Sandbox Code Playgroud)

它使用 request.data 返回一个空字符串如果我发出以 https 开头的请求,它会返回正确的值。如果存在重定向,我如何发送数据?

python https curl web-services flask

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

使用提取时文本响应为空

如下代码:

fetch('http://localhost:8080/root/1487171054127/k_query_bearer_token', {
        mode: 'no-cors', credentials: 'include'
    })
        .then(function (response) {
            return response.text();
        })
        .then(function (text) {
            console.log('Request successful', text.length);
        })
        .catch(function (error) {
            log('Request failed', error)
        });
Run Code Online (Sandbox Code Playgroud)

输出:

Request successful 0
Run Code Online (Sandbox Code Playgroud)

如果我使用curl:

curl 'http://localhost:8080/root/1487171054127/k_query_bearer_token' \
  -H 'Cookie: JSESSIONID=CviS9IK8pcsqADdP-m0MRXX_AvUqfzjJPwk1Yytf.ee16d0a01ad5' 
Run Code Online (Sandbox Code Playgroud)

我得到一个文本形式的令牌(长度!= 0)。

如果我通过以下方式输出响应标头:

curl 'http://localhost:8080/root/1487171054127/k_query_bearer_token' 
  -H 'Cookie: JSESSIONID=CviS9IK8pcsqADdP-m0MRXX_AvUqfzjJPwk1Yytf.ee16d0a01ad5'
  --head
Run Code Online (Sandbox Code Playgroud)

我得到:

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: JBoss-EAP/7
Content-Type: text/plain
Content-Length: 1730
Date: Wed, 15 Feb 2017 16:17:00 GMT
Run Code Online (Sandbox Code Playgroud)

为什么我无法通过提取获取任何文本?

javascript cors fetch-api

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

HTML5 - 2017正确的订购<tbody>和<tfoot>元素的方式?

大家!我在许多文章和课程中都看到,<tfoot>表格元素应该放在<tbody>元素之前.是的...但是,当我这样做时,验证器(https://validator.w3.org)告诉我它是错的,并且我不能<tfoot>在这种情况下使用它.所以我决定把它放在<tfoot>后面<tbody>,验证器在我的代码中没有发现任何错误.那么......无论如何,这样做的正确方法是什么?我还发现这个规范似乎与它自己的规则相矛盾:https://www.w3.org/TR/html51/tabular-data.html#the-tfoot-element

html5 html-table w3c-validation

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

动态创建的视频元素上的 captureStream()

我正在尝试从动态创建的视频元素捕获流。当我获取视频元素并尝试 videoElement.captureStream() 时,Firefox 返回videoElement.captureStream 不是一个函数,但相同的代码可以在 Chrome 上运行。问题似乎 Firefox 在动态创建视频元素方面存在问题。我尝试突变观察者来检测新添加的视频元素并访问 captureStream 方法,但没有运气我发布了下面的代码示例(我正在使用 adapter.js for WebRTC https://webrtc.github.io/adapter/adapter-latest .js )

(function (win) {

    var listeners = [],
        doc = win.document,
        MutationObserver = win.MutationObserver || win.WebKitMutationObserver,
        observer;

    function ready(selector, fn) {
        listeners.push({
        selector: selector,
        fn: fn
        });
        if (!observer) {
        observer = new MutationObserver(check);
        observer.observe(doc.documentElement, {
            childList: true,
            subtree: true
        });
        }
        check();
    }

    function check() {
        for (var i = 0, len = listeners.length, listener, elements; i < len; i++) { …
Run Code Online (Sandbox Code Playgroud)

javascript firefox html5-video webrtc capturestream

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