小编MrD*_*MrD的帖子

如何使用PhantomJS下载csv文件

当我使用普通浏览器(Chrome)浏览网站A时,当我点击网站A上的链接时,Chrome会以CSV文件的形式下载报告.

当我检查服务器响应头时,我得到以下结果:

Cache-Control:private,max-age=31536000
Connection:Keep-Alive
Content-Disposition:attachment; filename="report.csv"
Content-Encoding:gzip
Content-Language:de-DE
Content-Type:text/csv; charset=UTF-8
Date:Wed, 22 Jul 2015 12:44:30 GMT
Expires:Thu, 21 Jul 2016 12:44:30 GMT
Keep-Alive:timeout=15, max=75
Pragma:cache
Server:Apache
Transfer-Encoding:chunked
Vary:Accept-Encoding
Run Code Online (Sandbox Code Playgroud)

现在,我想使用PhantomJS下载并解析此文件.我设置了page onResourceReceived监听器,看看Phantom是否会接收/下载该文件.

clientRequests.phantomPage.onResourceReceived = function(response) {
    console.log('Response (#' + response.id + ', stage "' + response.stage + '"): ' + JSON.stringify(response));
};
Run Code Online (Sandbox Code Playgroud)

当我发出Phantom请求下载文件时(这是page.open('文件的URL')),我可以在Phantom日志中看到该文件已下载.这是日志:

"contentType": "text/csv; charset=UTF-8",
    "headers": {
        "name": "Date",
        "value": "Wed, 22 Jul 2015 12:57:41 GMT"
    },
    "name": "Content-Disposition",
    "value": "attachment; filename=\"report.csv\"",
    "status":200,"statusText":"OK"
Run Code Online (Sandbox Code Playgroud)

我收到了文件及其内容,但是如何访问文件数据?当我打印当前的PhantomJS page对象时,我得到了页面A的HTML而我不希望这样,我想要CSV文件,我需要使用JavaScript解析它.

javascript http download phantomjs

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

Jpeg重启标记

我制作了jpeg解码器,但我没有实现重启标记逻辑.这就是我的程序无法处理某些图像的原因(例如用Photoshop保存的图像:文件 - >另存为 - > jpeg).我想实现重启标记逻辑,但没有详细的在线解释重启标记逻辑如何工作.请任何人都可以告诉我有关重启标记的更多信息,或者建议我在线资源,我可以在其中详细了解它.谢谢!

jpeg file decoder huffman-code

9
推荐指数
1
解决办法
7947
查看次数

解析jpeg文件,SOS标记

我在解析jpeg文件时遇到问题.当我点击SOS(扫描开始)标记时,有几个字节意味着我不明白.在下图中,在SOS标记之后,标题长度有2个字节(图中的Ls部分).但是图片上的其他数据意味着什么(例如Ns,Cs1等......),以及纯数据的开始位置? SOS jpeg文件头

jpeg file-format huffman-code

7
推荐指数
1
解决办法
4413
查看次数

NodeJS - 如何从服务器响应中获取cookie

我想使用nodeJS作为网站报废的工具.我已经实现了一个脚本,它将我登录到系统并从页面解析一些数据.

步骤定义如下:

  1. 打开登录页面

  2. 输入登录数据

  3. 提交登录表单

  4. 转到所需的页面

  5. 从页面中抓取并解析值

  6. 将数据保存到文件

  7. 出口

显然,问题是每次我的脚本必须登录,我想消除它.我想实现某种cookie管理系统,我可以将cookie保存到.txt文件,然后在下一个请求中我可以从文件中加载cookie并将其发送到请求头中.

这种cookie管理系统并不难实现,但问题是如何访问nodejs中的cookie?我发现它的唯一方法是使用请求响应对象,您可以使用以下内容:

 request.get({headers:requestHeaders,uri: user.getLoginUrl(),followRedirect: true,jar:jar,maxRedirects: 10,},function(err, res, body) {
        if(err) {
            console.log('GET request failed here is error');
            console.log(res);
        }

        //Get cookies from response
        var responseCookies = res.headers['set-cookie'];
        var requestCookies='';
        for(var i=0; i<responseCookies.length; i++){
            var oneCookie = responseCookies[i];
            oneCookie = oneCookie.split(';');
            requestCookies= requestCookies + oneCookie[0]+';';
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

现在变量的内容requestCookies可以保存到.txt文件中,并且可以在下次执行脚本时加载,这样就可以避免每次执行脚本时登录用户的过程.

这是正确的方法,还是有一种方法可以返回cookie?

注意:如果要将request对象设置为在每个后续请求中自动重新发送收到的cookie,请在对象创建期间使用以下行:

var request = require("request");
request = request.defaults({jar: true});//Send cookies on every subsequent requests
Run Code Online (Sandbox Code Playgroud)

javascript cookies node.js

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

无法安装Yii 2的JUI Extension

我想为Yii 2安装JUI Extension,但作曲家报告了以下问题:

Your requirements could not be resolved to an installable set of packages.


    - yiisoft/yii2-jui 2.0.4 requires bower-asset/jquery-ui 1.11.*@stable -> no matching package found.
    - yiisoft/yii2-jui 2.0.3 requires bower-asset/jquery-ui 1.11.*@stable -> no matching package found.
    - yiisoft/yii2-jui 2.0.2 requires bower-asset/jquery-ui 1.11.*@stable -> no matching package found.
    - yiisoft/yii2-jui 2.0.1 requires bower-asset/jquery-ui 1.11.*@stable -> no matching package found.
    - yiisoft/yii2-jui 2.0.0 requires bower-asset/jquery-ui 1.11.*@stable -> no matching package found.
    - Installation request for yiisoft/yii2-jui ^2.0 -> satisfiable by yiisoft/yii2-jui[2.0.0, …
Run Code Online (Sandbox Code Playgroud)

yii composer-php yii2

6
推荐指数
1
解决办法
4908
查看次数

快速 DCT 变换

JPEG压缩过程中生成DCT系数的标准方程为DCT公式:

我知道这个实现很昂贵(慢),而且有更快的方法。这种生成 DCT 系数的更快方法是否有明确的公式?

compression algorithm jpeg image-processing dct

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

Jpeg哈夫曼编码过程

JPEG 标准中的霍夫曼表是通过两个步骤从统计数据集合中生成的。步骤之一是实现该图给出的功能/方法:(该图在 JPEG 标准的附件 K 中给出): 功能

问题就在这里。之前在标准(附录C)中说了这样一句话:

霍夫曼表以 16 字节列表 (BITS) 的形式指定,给出从 1 到 16 的每个代码长度的代码数量。后面是 8 位符号值 (HUFFVAL) 列表,每个符号值是分配一个霍夫曼代码。

显然BITS是 16 个元素的列表。但在上图中,i首先设置为 32( i=32) 然后我们要访问BITS[i]. 可能是我理解错了,所以请有人给我答案。

以下是 JPEG 标准对图片的描述: 图 K.3给出了调整 BITS 列表的过程,以便没有代码长于 16 位。由于符号是针对最长的霍夫曼码配对的,因此每次从该长度类别中删除两个符号。该对的前缀(短一位)被分配给该对中的一个;然后(跳过该前缀长度的 BITS 条目)来自下一个最短非零 BITS 条目的码字被转换为长一位的两个码字的前缀。在 BITS 列表减少到最大代码长度 16 位之后,最后一步从代码长度计数中删除保留的代码点。

这是上图的代码:

void adjustBitLengthTo16Bits(vector<char>&BITS){
    int i=32,j=0;
    while(1){
        if(BITS[i]>0){
            j=i-1;
            j--;
            while(BITS[j]<=0)
                j--;
            BITS[i]=BITS[i]-2;
            BITS[i-1]=BITS[i-1]+1;
            BITS[j+1]=BITS[j+1]+2;
            BITS[j]=BITS[j]-1;
            continue;
        }
        else{
            i--;
            if(i!=16)
                continue;

            while(BITS[i]==0)
                i--;
            BITS[i]--;
            return;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

encoding jpeg huffman-code

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

REST服务无法正常工作 - Code Igniter

我想在我的项目中实现Phill Sturgeon CodeIgniter RESTServer库.
我分别复制了文件夹config,library,library中的文件rest.php,Format.php,REST_Controler.php.

我使用以下代码创建了名为services的控制器:

<?php
require(APPPATH.'/libraries/REST_Controller.php');

class services extends REST_Controller {  

    function Teams_get(){

        $teamNames=$this->team_model->getTeamNames();

         $this->response($teamNames);
    }
Run Code Online (Sandbox Code Playgroud)

TeamModel在我的autoload.php中自动加载.当我想在浏览器中运行Teams_get方法时,结果是:

{"status":false,"error":"Unknown method."}

在这里读到我应该更改REST_Controler.php配置文件,但只有在POST方法不起作用时才应该进行此更改.

我的服务应该是公共的,所以我不需要身份验证方法.

这有什么不对?

php rest codeigniter

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

谷歌忽略了我的robots.txt

这是我的robots.txt文件的内容:

User-agent: *
Disallow: /images/
Disallow: /upload/
Disallow: /admin/
Run Code Online (Sandbox Code Playgroud)

如您所见,我明确禁止所有机器人索引文件夹images,upload并且admin.问题是我的一个客户发送了从images文件夹中删除内容的请求,因为该images文件夹中的.pdf文档出现在Google搜索结果中.任何人都可以解释我在这里做错了什么,为什么谷歌索引我的文件夹?

谢谢!

php seo robots.txt google-search

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

JPEG文件量化表定义

当我使用 Photoshop 另存为功能并选择 jpeg 文件格式时,我得到以下窗口:

在此处输入图片说明

如您所见,我选择了基线(“标准”)格式和最高画质。当我在十六进制编辑器中打开这张图片时,我看到几个 FF DB 标记(这是量化表的开始)。没问题,但让我们看下一张图片: 在此处输入图片说明

正如您在上面的表格图片中看到的,在地址行BDA开始 FFDB 标记。前两个字节是 00 84,这意味着该标记包含 132 个字节的数据。做一些数学计算,我们可以得出结论,这个标记定义了两个量化表。第一个表的值是:0C 08 08 08 09 等等...

在同一个文件中,还有另一个 FFDB 标记,从 2885 地址行开始,如图所示:

在此处输入图片说明

同样,前两个字节的值是 00 84,这意味着 132 个字节的数据。但这一次,第一个量化表的值是:01 01 01 等等...

如何知道我应该使用哪个 FF DB 标记,以及为什么文件中有几个 FFDB 标记?

compression jpeg quantization

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

用jquery解析json不会工作

我运行json_encodePHP函数并得到以下输出:

[{"id":"1","size":"124","name":"Team1","picture":1},
{"id":"5","size":"76","name":"Team 4","picture":2},
{"id":"3","size":"25","name":"Team2","picture":3},
{"id":"4","size":"17","name":"Team3","picture":4}]
Run Code Online (Sandbox Code Playgroud)

现在我想使用JQUERY解析它并将其添加到我的网页.我运行以下脚本:

<script>
    $(function() {
      $('#myButton2').click(function(e) {
        $.get("http://localhost:99/result/getBestOne", function(data) {
        alert(data+"");
        var obj = JSON.parse(data);
        alert(obj+"");

       });
    });
});

</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是第一个警报正在运行,但在第二个警报中,我收到错误:**Ucought SyntaxError: Unexpected Token**

问题出在哪儿?

javascript php jquery json

0
推荐指数
1
解决办法
79
查看次数

如何使用XMLRPC客户端库设置UTF-8编码

我正在使用XMLRPC客户端来调用Adestra API服务.目前我在插入波斯尼亚语字母č,ć,ž,đ,š时遇到问题.

我将我的XMLRPC客户端配置为使用UTF-8,但仍然存在问题.这是我的代码示例:

//******* LOGIN DATA*******/
$account = 'account';
$username = 'username';
$password = 'password';
$adestraCoreTable=1;


/**INITIALIZE API*****/
require_once('xmlrpc.inc');//First inlcude XMLRPC client library


//Calling Adestra API with our credentials
$xmlrpc= new xmlrpc_client("http://$account.$username:$password@new.adestra.com/api/xmlrpc");
$xmlrpc->setDebug(0);
$xmlrpc->request_charset_encoding="UTF-8";


$msg = new xmlrpcmsg(
                    "contact.search",
                    array(
                        //Set user id
                        new xmlrpcval($adestraCoreTable, "int"),
                        new xmlrpcval(
                            array(
                                "firstName"=> new xmlrpcval("?okolada", "string"),
                            ),"struct"
                        )
                    )

                );
$response = $xmlrpc->send($msg);//Send request, and get the response
Run Code Online (Sandbox Code Playgroud)

剩下的代码是解析$ response,这不是我们的主要兴趣.

如你所见,firstName设置为?okolada,但当我在Adestra中检查时,我得到了值Äokolada.显然,编码存在问题.

有人可以帮忙吗?

php xml xml-rpc xmlrpclib xmlrpcclient

0
推荐指数
1
解决办法
2793
查看次数

Java与C#算法执行

我有用Java和C#编写的N-queen问题.你可以在这里找到更多关于8皇后问题的信息.

这是Java代码:

package nqueens;
import java.util.Arrays;
public class NQueens {
  public static void main(String args[]) {
    int n = 13;
    int[] ploca = new int[n];
    postaviKraljicuNaPlocu(0, ploca);
  }
  private static void postaviKraljicuNaPlocu(int Ki, int[] ploca) {
    int n = ploca.length;
    if (Ki == n) {
      System.out.println(Arrays.toString(ploca));
    } else {
      for (int kolona = 0; kolona < n; kolona++) {
        if (jeLiSigurnoMjesto(kolona, Ki, ploca)) {
          ploca[Ki] = kolona;
          postaviKraljicuNaPlocu(Ki + 1, ploca);
          ploca[Ki] = -1;
        }
      } …
Run Code Online (Sandbox Code Playgroud)

c# java algorithm

0
推荐指数
1
解决办法
193
查看次数