问题列表 - 第27069页

为什么Ruby中的curl比命令行卷曲慢?

我试图下载超过1米的页面(以序列ID结尾的URL).我已经实现了一种具有可配置数量的下载线程和一个处理线程的多用途下载管理器.下载器批量下载文件:

curl = Curl::Easy.new

batch_urls.each { |url_info|
    curl.url = url_info[:url]
    curl.perform
    file = File.new(url_info[:file], "wb")
    file << curl.body_str
    file.close
    # ... some other stuff
}
Run Code Online (Sandbox Code Playgroud)

我试过下载8000页样本.使用上面的代码时,我在2分钟内得到1000.当我将所有URL写入文件并在shell中执行时:

cat list | xargs curl
Run Code Online (Sandbox Code Playgroud)

我在两分钟内生成了所有8000页.

事情是,我需要它在ruby代码中,因为有其他监视和处理代码.

我试过了:

  • Curl :: Multi - 它以某种方式更快,但错过了50-90%的文件(不下载它们并且没有给出原因/代码)
  • 使用Curl :: Easy的多个线程 - 与单线程的速度大致相同

为什么重用Curl :: Easy比后续命令行curl调用慢,如何让它更快?或者我做错了什么?

我更喜欢修复我的下载管理器代码,而不是以不同的方式为这种情况下载.

在此之前,我正在调用命令行wget,我提供了一个包含URL列表的文件.Howerver,并非所有错误都得到了处理,在使用URL列表时也无法单独为每个URL指定输出文件.

现在在我看来,最好的方法是使用系统调用'curl'命令的多个线程.但是为什么我可以在Ruby中直接使用Curl?

下载管理器的代码在这里,如果它可能会有所帮助:下载管理器(我玩过超时,从未将其设置为各种值,它似乎没有帮助)

任何提示赞赏.

ruby curl http download curb

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

ASP.NET Forms身份验证的授权安全性

我在ASP.NET MVC网站中使用Forms身份验证,我在AuthCookie中存储用户帐户登录名,如下所示:

FormsAuthentication.SetAuthCookie(account.Login, false);
Run Code Online (Sandbox Code Playgroud)

我想问一下,如果有一种可能性,即用户在客户端会以某种方式管理AuthCookie改变自己的登录名,因此他将例如冒充有人用更高的权限和授权做更多的动作比他通常应该有.另外最好保存在此cookie用户帐户登录名或用户帐号ID中吗?

asp.net security asp.net-mvc authorization forms-authentication

5
推荐指数
1
解决办法
744
查看次数

在Visual Studio 2008中重命名项目的最佳方法

在尝试重命名VS中的项目时,我总是发现自己遇到了很多命名空间或引用错误.

我就是这样做的:我点击项目并按F2并重命名.

你们遵循什么程序?

我以前在Eclipse工作,在那里我没有问题.也许它在VS中也很容易,而且只是我.

c# visual-studio-2008

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

退格字符怪异

我想知道为什么普通Linux终端中的退格字符实际上不会在打印时擦除字符(通常在键入时有效).

这按预期工作:

$ echo -e "abc\b\b\bxyz"
xyz
Run Code Online (Sandbox Code Playgroud)

(\b评估为退格,也可以插入Ctrl+ V Ctrl+ H- 呈现为^H(0x08))

但是当退格后的字符数量减少时,会发现奇怪的行为:

$ echo -e "abc\b\b\bx"
xbc
Run Code Online (Sandbox Code Playgroud)

它的行为类似于左箭头键而不是退格键:

$ echo -e "abc\e[D\e[D\e[Dx"
xbc
Run Code Online (Sandbox Code Playgroud)

擦除线后退工作正常:

$ echo -e "abc\e[1Kx"
x
Run Code Online (Sandbox Code Playgroud)

事实上,当我在终端输入Ctrl+ V Backspace时,^?(0x7f)产生而不是^H,这是Delascii字符,但是Ctrl+ V Del产生<ESC>[3~,但它是另一个故事..

那么有人可以解释为什么打印的退格字符不会删除字符吗?

(我的环境是xterm的Linux和一些其他的终端仿真器,$TERM== xterm,试图vt100,Linux以及)

terminal text backspace

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

根据内部数组的值重新排列多维数组

我有一个这样的数组

Array
(
    [0] => Array
        (
            [cat_name] => Clothing
            [cat_id] => 1
            [item_name] => shirt
            [item_id] => 1
            [src] => 177
            [sic] => 78
        )

    [1] => Array
        (
            [cat_name] => Stationary
            [cat_id] => 3
            [item_name] => note book
            [item_id] => 8
            [src] => 50
            [sic] => 10
        )

    [2] => Array
        (
            [cat_name] => Stationary
            [cat_id] => 3
            [item_name] => ball pen
            [item_id] => 10
            [src] => 59
            [sic] => 58
        )

    [3] => Array
        (
            [cat_name] => …
Run Code Online (Sandbox Code Playgroud)

php multidimensional-array

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

删除cookie的问题,不会被取消

我已经尝试在php手册和互联网上搜索如何删除cookie,我尝试过的方式完全相同:

setcookie("name", '', 1);
Run Code Online (Sandbox Code Playgroud)

要么

setcookie("name", '', time()-3600);
Run Code Online (Sandbox Code Playgroud)

但是当我在Firefox中检查cookie对话框中的cookie时,它仍然具有相同的值.我使用以下行设置此cookie:

setcookie("name", $value, time() + 259200, $path);
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上发现了这个问题:但是没有一个答案解决了这个问题.我也试过把所有的参数都放进去,就像作者说的那样,但它没有效果.

有谁看到这个问题?

php cookies unset

23
推荐指数
4
解决办法
3万
查看次数

如何将CMS设置为iPhone应用程序的后端

我希望我的iPhone应用程序能够从网上获取动态内容.应使用CMS管理此内容.我想知道,如果我可以设置Drupal或Joomla或其他CMS作为我的iPhone应用程序的后端来获取内容.

关于如何实现这一目标的任何建议都会有所帮助.

我是设置/使用CMS的新手.

iphone backend content-management-system

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

这两个javascript函数有什么区别?

我一直在研究一些jQuery插件如何工作,我已经看到以下作为整个插件的闭包

$(function(){
    // plugin code here

});

(function($){
    // plugin code here

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?

javascript jquery closures

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

Java:JPQL日期函数,用于将时间段添加到另一个日期

SELECT x FROM SomeClass
WHERE x.dateAtt BETWEEN CURRENT_DATE AND (CURRENT_DATE + 1 MONTH)
Run Code Online (Sandbox Code Playgroud)

在上面的JPQL语句中,SomeClass有一个memebr dateAttr,它是一个java.util.Date并且有一个@Temporal(javax.persistence.TemporalType.DATE)注释.

我需要一种方法来做这(CURRENT_DATE + 1 MONTH)一点 - 它在当前状态下显然是错误的 - 但是找不到带有JPQL日期函数的doc.

任何人都可以指向我的文档的方向,文档JPQL日期函数(以及如何执行此特定查询)?

java documentation date jpql

26
推荐指数
3
解决办法
4万
查看次数

MySQL子查询LIMIT

正如标题所说,我想要一个解决方法......

SELECT 
  comments.comment_id,
  comments.content_id,
  comments.user_id,
  comments.`comment`,
  comments.comment_time,
  NULL
FROM
  comments
WHERE
  (comments.content_id IN (SELECT content.content_id FROM content WHERE content.user_id = 1 LIMIT 0, 10))
Run Code Online (Sandbox Code Playgroud)

干杯

mysql subquery

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