小编rhb*_*c73的帖子

http认证缓存

我正在使用我的服务器的基本架构实现http身份验证.

Sever向客户端发送401响应,然后浏览器将弹出一个窗口,要求提供凭据.然后浏览器将在Authorization标头中发送username/passwd.

问题是,当浏览器第二次打开链接时,Authorization标头包含在请求标头中,但没有弹出窗口,似乎记住了这些凭据(缓存).

谁知道如何控制这个?如果我每次都需要用户输入passwd该怎么办?如果我需要为此缓存设置有效持续时间该怎么办?

十分感谢!

authentication caching http

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

如何获取YouTube Live"Stream Now"服务的流名称/密钥

YouTube在去年7月添加了"Stream now(beta)"服务,这使得直播更容易.

使用Youtube验证的程序,如"XSplit Broadcaster",您可以在授权后流式传输到"现在流式传输".

我也在做流媒体应用程序,我正在寻找的是获取默认"Stream now"流的流名称的API.通过流名称,我可以将内容流式传输到YouTube.

YouTube文档https://developers.google.com/youtube/v3/live/docs/未提及任何相关内容,默认广播未包含在youtube.liveBroadcasts.list的结果中.

如果XSplit Broadcaster可以做到这一点,我认为必须有一个API.谁知道呢?

====================================更新:

在此处形成文档https://developers.google.com/youtube/v3/live/docs/liveBroadcasts 广播中应该有一个isDefault字段(snippet.isDefaultBroadcast).并且应该有默认广播和默认直播.

但当我运行livebroadcasts.list获取所有广播时,我得到了

{
 "kind": "youtube#liveBroadcastListResponse",
 "etag": "\"abQHWywil_AkNqdqji7_FqiK-u4/z2Ncj_KliOCAGV1jEVPYCsHbZn0\"",
 "pageInfo": {
  "totalResults": 4,
  "resultsPerPage": 50
 },
 "items": [
 ]
}
Run Code Online (Sandbox Code Playgroud)

虽然totalResults = 4,但返回的项目中没有任何内容.

youtube-api youtube-livestreaming-api

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

Lucene QueryParse 解析时丢弃“

我有一个查询-license:"CC-BY-NC" AND -license:"CC-BY-ND 4.0 (Int)"要传递到 PrecedenceQueryParser.parse 中,如下所示:

Query query = new PrecedenceQueryParser().parse(filter, '')
Run Code Online (Sandbox Code Playgroud)

但在生成的查询中,您可以看到,诸如-lincense:CC-BY-NC, "" 之类的子句丢失了。

有什么设置可以保留“”吗?

在此输入图像描述

=====================更新=============================

我明白,因为我正在寻找 CC-BY-ND 4.0 (Int) 的匹配,不带双引号(双引号只是用来使其成为一个短语)。这就是为什么 query.clauses[1].query 在 CC-BY-ND 4.0 (Int) 周围没有“”

现在我这样做:

    def bqb = new BooleanQuery.Builder()
    clauses.each { clause ->
        bqb.add(clause.query, clause.prohibited ? BooleanClause.Occur.SHOULD : BooleanClause.Occur.MUST_NOT)
    }

    String s = bqb.build().toString()
Run Code Online (Sandbox Code Playgroud)

构建一个 BooleanQuery 并将子句放在一起,

那么 s 等于license:CC-BY-ND 4.0 (Int) license:CC-BY-NC

这绝对不是我想要的,我需要 CC-BY-ND 4.0 (Int) 用双引号括起来。有什么办法可以做到这一点吗?

吉布斯可能是一个解决方案,但我认为有点棘手。

lucene solr

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

我可以使用 YouTube API 启用 YouTube 直播吗?

我正在开发一个 YouTube 直播相关程序。我知道有 API 可以创建/列出/删除广播和直播。但所有这些都假设您的帐户已启用 YouTube 直播。

我尝试过,但未能找到任何可用于在我的帐户上启用 YouTube 直播的 API。有这样的API吗?

youtube-api youtube-data-api

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

丢弃 GCC 中未使用的函数

我需要一些帮助来在MinGW下使用 GCC 进行编译。

假设我有两个文件:

  • 文件ac包含两个函数,a1a2
  • 文件bc包含两个函数b1b2

然后我将这两个对象链接到一个共享库中。使用的命令如下:

gcc -c a.c
gcc -c b.c
gcc -shared -Wl, --version-script v.ver -Wl, -Map=out.map -Wl, --strip-all -o mydll.dll a.o b.o
Run Code Online (Sandbox Code Playgroud)

文件v.ver看起来像:

mylib {
   global: a1;
           a2;
   local: *;
}
Run Code Online (Sandbox Code Playgroud)

用于控制要导出哪些函数。

通过检查mapfile,我可以看到bc中的两个函数也包含在DLL文件的.text部分中。

因为这个DLL文件只导出a1a2,而b1b2只在bc中定义,但从未在任何地方使用过。我是否可以在 GCC 或ld中添加一个选项,以便b1b2不内置到 DLL 文件中,以便我可以在 DLL 文件中节省一些空间?

gcc ld

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

简单的Perl正则表达式

嗨,我对Perl很新,现在正在寻求帮助来解析一行简单的代码.

我需要解析的是来自

#include "filename"
Run Code Online (Sandbox Code Playgroud)

我只需要正则表达式来获取文件名.

我知道Python中的split方法可以做到这一点,不知道Perl中是否有类似的func

谢谢

regex perl

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