小编ror*_*itt的帖子

是否可以以块的形式对文件进行base64编码?

我试图base64编码一个巨大的输入文件,最后得到一个文本输出文件,我试图找出是否有可能逐位编码输入文件,或者我是否需要编码整个事情一下子.

这将在AS/400(iSeries)上完成,如果这有任何区别.我正在使用我自己的base64编码例程(用RPG编写),它运行良好,如果不是大小限制的情况,那就没问题了.

base64

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

始终返回 Access-Control-Allow-Credentials 是否有缺点?

一个奇怪的 CORS 问题...

我的example.com服务器中有代码,它为所有 POST 和 GET 请求返回 Access-Control-Allow-Origin 响应标头,其中传递了 Origin 请求标头,并且它具有 example.com 子域的值(superman .example.combatman.example.com等)。

我现在需要能够进行 AJAX 调用并传递 cookie,因此如果请求包含 cookie,我需要能够返回Access-Control-Allow-Credentials响应标头。

如果我看到 Cookie 请求标头,我可以添加额外的检查以返回 Access-Control-Allow-Credentials 响应标头,但为了简单起见,我想知道始终返回 Access-Control-Allow-Credentials是否有任何缺点来自我的子域的所有 GET/POST 请求的响应标头,其中指定了 Origin 请求标头。

这是我的代码(它是 Tcl iRule,FWIW):

when HTTP_REQUEST priority 200 {
    if { ( [HTTP::method] equals "OPTIONS" ) and
         ( [HTTP::host] ends_with "example.com"] ) and
         ( [HTTP::header exists "Access-Control-Request-Method"]) } {
        HTTP::respond 200 "Access-Control-Allow-Origin" [HTTP::header "Origin"] \
                          "Access-Control-Allow-Methods" "POST, GET, OPTIONS" \
                          "Access-Control-Allow-Headers" [HTTP::header "Access-Control-Request-Headers"] …
Run Code Online (Sandbox Code Playgroud)

security http-headers cors

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

在Android中创建"中间人"耳机按钮控制器

所有,

我已经找到了答案,但我没有得到任何确切的信息......这是我第一次写一个Android应用程序,所以请温柔:)

我对Android中最小的耳机支持感到非常沮丧 - 与iPhone不同,它本身似乎只支持一个按钮,因此无法控制耳机兼容性.此外,如果我正在听音乐并且有来电,操作系统会自动暂停音乐,但耳机按钮仍然只能用作媒体按钮 - 我无法用它来接听/结束通话.如果我通过屏幕接听电话并按下耳机按钮,音乐会再次开始,但通话继续...

我想创建一个"中间人"应用程序,可以选择按下耳机按钮(通过Keyevent.KEYCODE_HEADSETHOOK),然后可以确定是否执行默认的ACTION_MEDIA_BUTTON操作(在我选择的媒体播放器中切换播放/暂停)或者,如果有来电,请暂停音乐并接听电话(然后,再次按下时,结束通话并重新启动媒体播放器).甚至可以检查耳机按钮上的ACTION_MULTIPLE以指定不同的选项(ACTION_MEDIA_NEXT,ACTION_MEDIA_PREVIOUS等).也许还能够确定是否已经按下耳机上的不同按钮(如果耳机是例如花式iPhone耳机)并且将这些按钮按下"翻译"到适当的ACTION_MEDIA_*).如果操作系统无法区分不同按钮,这可能是不可能的.

显然,这样的应用程序必须以足够高的优先级接收意图,以便能够在当前媒体播放器获得广播之前中止广播.

我一直在修改各种各样的BroadcastReceiver类和意图过滤器等,但问题的一部分是Eclipse附带的bult-in Android模拟器似乎没有能力模拟用户插入耳机和/或随后单击耳机按钮.因此,每当我得到一些看起来很有前途的东西时,我必须把它放到我的实际手机上并尝试一下 - 耗费时间和麻烦.

然后3个问题:

  1. 我错过了一些显而易见的事实 - 这是一个真正的问题,如果是这样,它已经解决了吗?

  2. 如果它是一个问题,是否可以编写这样的中间人应用程序?

  3. 是否有其他Android模拟器可以检查与耳机相关的活动?

谢谢,

罗里

android android-emulator

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

在Android中,如何根据文件类型显示应用程序选择器?

如果有人已经回答道歉 - 如果有人能指出我已经回答的问题,那就太好了......

很简单,我希望能够弹出一个可以处理给定类型文件的应用程序列表 - 例如,如果我有一个音乐文件(mp3,ogg,等等),我希望能够显示可以处理文件并允许用户选择文件的所有已加载媒体应用程序的列表.

我一直在努力创建这样做的意图如下:

Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.addCategory("android.intent.category.LAUNCHER");
myIntent.setType("mp3");
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)

但我显然错了,因为它每次都会崩溃.我应该使用ACTION_PICK还是ACTION_CHOOSER而不是ACTION_VIEW?

更重要的是,是否可以通过Intent.type以外的其他方式轻松定义所有媒体播放器?我认为类型应该是一个合适的MIME类型,小写,但我不知道在这个实例中使用什么...

请温柔:)

android

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

Access-Control-Allow-Origin标头必须包含方案吗?

我有一些问题CORS的定义,我有一个问题(不是CORS一般- 我很好-只要是正式规范和使用):

根据IETF,如果传递了Origin标头,并且它是URL,则该URL必须完全序列化,并且必须包括scheme和host(以及可选的端口).来自http://tools.ietf.org/html/rfc6454#section-7.1:

The Origin header field has the following syntax:

origin              = "Origin:" OWS origin-list-or-null OWS
origin-list-or-null = %x6E %x75 %x6C %x6C / origin-list
origin-list         = serialized-origin *( SP serialized-origin )
serialized-origin   = scheme "://" host [ ":" port ]
                   ; <scheme>, <host>, <port> from RFC 3986
Run Code Online (Sandbox Code Playgroud)

至少,我想我已经理解正确了.

在IETF 表示,访问控制允许来源标题的格式必须遵循相同的格式.来自http://www.w3.org/TR/cors/#access-control-allow-origin-response-header:

Access-Control-Allow-Origin = "Access-Control-Allow-Origin" ":" origin-list-or-null | "*"
Run Code Online (Sandbox Code Playgroud)

和链接到Origin标题页面.

但是,我已经看到很多例子(这里都在SO和其他地方)显示没有方案的ACAO标题(即不是Origin标题的精确"镜像"),例如,它们表明在请求中传递了这个:

Origin: http://www.example.com
Run Code Online (Sandbox Code Playgroud)

这是'正确'的回应:

Access-Control-Allow-Origin: www.example.com
Run Code Online (Sandbox Code Playgroud)

那么ACAO标题有效吗?我认为ACAO标头必须是Origin标头值(或'*'或'null')的精确镜像.

如果我使用包含该方案的ACAO标题进行响应,用户代理是否应该接受它?或者它是在UA-by-UA的基础上?如果Origin包含端口号怎么办?我是否需要在ACAO响应头中包含该端口号,无论是否有该方案?

http cors

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

CORS 预检响应如何实际缓存在浏览器中?

一个技术性很强的问题,可能只有了解浏览器内部结构的人才能回答......

浏览器缓存 CORS 预检响应的准确程度如何(假设在对 OPTIONS 预检请求的响应中返回了 Access-Control-Max-Age 响应标头)?

基本上,在规范(https://www.w3.org/TR/cors/#preflight-result-cache-0)中,它说预检结果缓存中的每个条目都包含以下字段:

  • 起源
  • 网址
  • 最大年龄
  • 证书
  • 方法
  • 标题

(方法和头是互斥的)

主缓存键由除 max-age 之外的所有字段组成。

因此,如果我收到对包含以下内容的 OPTIONS 预检请求的响应:

Access-Control-Allow-Origin: http://www.example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, OPTION, HEAD
Access-Control-Allow-Headers: x-cool, x-special, x-sweet
Access-Control-Max-Age: 3600
Run Code Online (Sandbox Code Playgroud)

那么我认为这会导致以下所有条目添加到预检缓存中是否正确?

http://www.example.com  <url>  3600  true  GET
http://www.example.com  <url>  3600  true  POST
http://www.example.com  <url>  3600  true  OPTIONS
http://www.example.com  <url>  3600  true  HEAD
http://www.example.com  <url>  3600  true           x-cool
http://www.example.com  <url>  3600  true           x-special
http://www.example.com  <url>  3600  true           x-sweet
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 如果这是真的,这是否意味着(从性能 POV …

cors

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

我可以从一组哈希键构建Perl Regex

(与上一个问题相关:我是否需要重置Perl哈希索引?)

我有一个来自文件的哈希,其定义如下:

%project_keys = (
    cd     => "continuous_delivery",
    cm     => "customer_management",
    dem    => "demand",
    dis    => "dis",
    do     => "devops",
    sel    => "selection",
    seo    => "seo"
);
Run Code Online (Sandbox Code Playgroud)

我需要检查评论标题是否具有正确的格式,如果是,请链接到单独的URL.

例如,如果评论标题是

"cm1234 - Do some CM work"
Run Code Online (Sandbox Code Playgroud)

然后我想链接到以下URL:

http://projects/customer_management/setter/1234
Run Code Online (Sandbox Code Playgroud)

目前,我正在使用以下(硬编码)正则表达式:

if ($title =~ /(cd|cm|dem|dis|do|sel|seo)(\d+)\s.*/) {
    my $url = 'http://projects/'.$project_keys{$1}.'/setter/'.$2
}
Run Code Online (Sandbox Code Playgroud)

但显然我想从散列键本身构建正则表达式(上面的散列示例会相当频繁地更改).我想过简单地按键连接键如下:

# Build the regex
my $regex = '';
foreach my $key ( keys %project_keys ) {
    $regex += $key + '|';
}
$regex = substr($regex, 0, -1); # Chop …
Run Code Online (Sandbox Code Playgroud)

regex perl hash

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

我是否需要重置Perl哈希索引?

好的,这是一个N00b问题,但它让我感到难过:

我有以下Perl代码:

%project_keys = (
  cd     => "continuous_delivery",
  cm     => "customer_management",
  dem    => "demand",
  dis    => "dis",
  do     => "devops",
  sel    => "selection",
  seo    => "seo"
);

print "proj_code is $proj_code\n";
while ( ($key, $value) = each %project_keys ) {
    if ($key == $proj_code) {
        $url = "http://projects/".$project_keys{$key}."/setter";
        last;
    }
}
Run Code Online (Sandbox Code Playgroud)

$proj_code始终传递相同('dis'),打印行显示.

但是,每次我运行它,我都会获得不同的值project_keys{$key}.

什么(毫无疑问是显而易见的)我做错了什么?我看过关于每个人如何"脆弱"的评论 - 是吗?

perl hash

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

寻找允许 URL 作为输入的文件差异工具

我正在寻找一个文件差异工具,它允许我输入存储在 Web 服务器上的属性文件的 URL,而不是本地文件 - 我尝试过的所有工具(WinMerge、Diffuse、Beyond Compare)似乎只允许本地文件(或服务器上的文件)进行比较。

换句话说,只需传递这两个 URL就可以直接比较http://www.example.com/releases/14F/base.propertieshttp://www.example.com/releases/14G/base.properties到文件差异实用程序。

为了使这更复杂,我真的希望它可以被技术人员和非技术人员使用 - 例如产品经理可能需要使用它......当然,我可以使用 cURL 来获取文件然后将它传递给我上面提到的工具之一,但是我的 PM 既不会安装 cURL,也不想使用它。

对我来说,它是实际的可执行文件还是基于 Web 的服务并不重要,但如果它是可执行文件,则它需要在 PC 上运行,最好也可以在 Mac 上运行。

如果它允许比较两个以上的文件,那就太好了 - 现在我们使用 Diffuse,它可以同时比较至少 10 个文件,但这不是必需的 - 能够通过提供它们的 URL 来比较文件会更多比能够比较所有需要从 Web 服务器下载的 10 个文件有用。

有没有人对启用此功能的任何工具有任何经验?如果这不能直接完成,那么一些有用的东西将使我(或上面提到的非技术人员)能够以尽可能少的步骤检索这些文件并进行比较 - 比“右键单击以查看源代码,另存为 .txt 文件到桌面等。

diff properties

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

在Perl中,如何检查未定义的OR空参数?

可能是一个简单的Perl问题:

我有一些代码如下:

if (not defined $id) {
    print "Enter ID number: ";
    chomp ($id = <STDIN>);
    exit 0 if ($id eq ""); # If empty string, exit.
}
if (not defined $name) {
    print "Enter name: ";
    chomp ($name = <STDIN>);
    exit 0 if ($name eq ""); # If empty string, exit.
}
if (not defined $class) {
    print "Enter class: ";
    chomp ($class = <STDIN>);
    exit 0 if ($class eq ""); # If empty string, exit.
}
Run Code Online (Sandbox Code Playgroud)

我希望能够只传递其中的一些(例如名称和类,但不能传递ID),为未透露的传递空白,所以我认为以下方法可行:

if …
Run Code Online (Sandbox Code Playgroud)

perl

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