我需要检测何时存在重定向。我的第一个想法是检查 301 的状态代码,但是:
var link = "https://grnh.se/8dc368b82us?s=LinkedIn&source=LinkedIn";
var responseMessage = await httpClient.GetAsync(link);
Run Code Online (Sandbox Code Playgroud)
responseMessage 返回“OK”,但在浏览器中此链接返回 301 并重定向。
因此,如果我不能依赖于此,那么我决定只将请求 URI 与响应 URI 进行比较。
GetAsync 返回一个,Task<HttpResponseMessage>但 HttpResponseMessage没有响应 URI 的属性。
https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0
System.Net.WebResponse 包含响应 URI 的属性,但我可以将其与 HttpClient 一起使用吗?或者我必须使用 WebRequest 来请求?
https://learn.microsoft.com/en-us/dotnet/api/system.net.webresponse?view=net-5.0
有没有更好的办法?
注意:这将扫描数百万个链接,因此我更愿意实例化一个 HttpClient。Microsoft 建议使用 HttpClient 而不是 WebRequest: https://learn.microsoft.com/en-us/dotnet/api/system.net.webresponse ?view=net-5.0
我似乎以错误的方式思考sql.我总是写不起作用的东西.
例如,我需要一个变量.所以我认为:
DECLARE @CNT AS INT
SET @CNT = COUNT(DISTINCT database.schema.table.column)
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用......?我在这里使用完全限定的引用,所以我想要的值应该是清楚的.
DECLARE @CNT AS INT
SET @CNT = (SELECT COUNT(DISTINCT database.schema.table.column) FROM column)
Run Code Online (Sandbox Code Playgroud)
这有效...但为什么我必须使用选择?
是否所有内容都必须以DDL或DML语句之一开头?
其次:我无法逐行调试,因为sql语句被视为一步.我可以调试的唯一方法是,如果我选择最里面的子查询并运行它,那么包括下一个外部子查询并运行它,依此类推.
当地人的窗户有吗?
我听说过基于集合的思维而不是迭代思维,我想即使对于函数式语言我仍然是迭代的...迭代只是从最里面的括号到最外面的括号,并应用于整个集合.但即使在这里我遇到麻烦,因为我不知道集合中的哪个值导致错误.
对不起,如果这似乎散乱了......我想这只是反映了我的感受.我不知道如何从许多小组件构建一个大的存储过程......就像在vba中我可以调用另一个子例程并确保我需要的变量是全局的.
tldr:需要概念基础/知道当我输入内容并点击F5时实际发生了什么
let collection = [{
name: 'music',
views: 20
},
{
name: 'abc',
views: 32
},
{
name: 'bob',
views: 20
}
]
for (const [k, v] of collection) {
console.log(k, v)
}
console.log(Array.isArray(collection))Run Code Online (Sandbox Code Playgroud)
Error: .for is not iterable
Array.isArray(collection)返回真
数组怎么可能不可迭代呢?
我真的需要诉诸于此来“获取”每个项目的索引吗?
for (let i = 0; i < collection.length; i++){
console.log(i, collection[i])
}
Run Code Online (Sandbox Code Playgroud)
nvm ...它与 forEach 配合得很好
collection.forEach((k, v) => {
console.log(k,v)
})
Run Code Online (Sandbox Code Playgroud)
这里……发生什么事了?
注意:我不能使用 for...in b/ci 需要保证订单