我基本上只是想验证资源是否可以从执行客户端访问.我无法使用XHR,因为目标资源不允许这样做.
我是JS的新手,我目前正在使用它(这里是可执行文件):
var done = false;
var i = 1;
var t = "https://i.stack.imgur.com/Ya15i.jpg";
while(!done && i < 4)
{
console.log("try "+i);
done = chk(t);
sleep(1000);
i = i+1;
if (done)
{
console.log("Reachable!");
break;
}
else
{
console.log("Unreachable.");
}
}
function chk(target)
{
console.log("checking "+target)
fetch(target, {mode: 'no-cors'}).then(r=>{
return true;
})
.catch(e=>{
return false;
});
}
// busy fake sleep
function sleep(s)
{
var now = new Date().getTime();
while(new Date().getTime() < now + s){ /* busy …Run Code Online (Sandbox Code Playgroud) 我有一个项目,我在其中生成子进程,它再次需要一个端口号来绑定。端口号是由我的 Python 脚本分配的,我只是在 49152 到 65535 之间随机选择一个端口。
我想验证该端口是否可用并且未被本地系统(*nix)上的任何其他工具使用。
从另一个问题我有这个片段:
import socket;
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex(('127.0.0.1',80))
if result == 0:
print "Port is open"
else:
print "Port is not open"
Run Code Online (Sandbox Code Playgroud)
我可以在我的情况下使用这个吗?这不会打开端口并且不会关闭它以供进一步使用吗?
我想检查是否可以使用 JavaScript 函数访问服务器。
通过reachable,我的意思是,如果服务器应答,我不在乎哪个HTTP 状态代码,它是可达的。
Stackoverflow/Google 帮我实现了这个功能:
function check(target)
{
var xhr = new XMLHttpRequest();
var target = "https://"+target+"/index.php";
var num = Math.round(Math.random() * 10000);
xhr.open("HEAD", target + "?num=" + num, true);
xhr.send();
xhr.addEventListener("readystatechange", processRequest, false);
function processRequest(e)
{
if (xhr.readyState == 4)
{
if (xhr.status !== 0)
{
return true;
}
else
{
return false;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果目标允许与Access-Control-Allow-Origin: *(或特别是客户端)进行操作,则效果很好。但事实并非如此。
我遇到了许多解决方案,它们似乎都依赖于此。
如何Access-Control-Allow-Origin使用 JavaScript独立于服务器上的设置检查服务器是否可访问?
编辑:我只是想补充一点,我无法修改目标(例如更改标题),但我能够识别应该可用的资源(例如https://target/this-specific-site.php )
编辑2: …
我想创建一个仅包含bash中可打印字符串的特定大小的文件。
我的第一个想法是使用/dev/urandom:
dd if=/dev/urandom of=/tmp/file bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 10,3641 s, 10,1 MB/s
file /tmp/file && du -h /tmp/file
/tmp/file: data
101M /tmp/file
Run Code Online (Sandbox Code Playgroud)
这给我留下了一个所需大小的文件,但不仅包含可打印的字符串。
现在,我可以strings用来创建仅包含可打印字符串的文件。
cat /tmp/file | strings > /tmp/file.txt
file /tmp/file.txt && du -h /tmp/file.txt
/tmp/file.txt: ASCII text
7,0M /tmp/file.txt
Run Code Online (Sandbox Code Playgroud)
这给我留下了一个仅包含可打印字符串但文件大小错误的文件。
TL; DR
如何在bash中创建特定大小的文件,仅包含可打印的字符串?
我有一个小的python脚本,argparse用于让用户定义选项。它为不同的模式使用两个标志,并使用一个参数让用户定义文件。请参见下面的简化示例:
#!/usr/bin/python3
import argparse
from shutil import copyfile
def check_file(f):
# Mock function: checks if file exists, else "argparse.ArgumentTypeError("file not found")"
return f
def main():
aFile = "/tmp/afile.txt"
parser = argparse.ArgumentParser(description="An example",formatter_class=argparse.RawTextHelpFormatter)
parser.add_argument("-f", "--file", help="A file, used with method A.", default=aFile, type=check_file)
parser.add_argument("-a", "--ay", help="Method A, requires file.", action='store_true')
parser.add_argument("-b", "--be", help="Method B, no file required.", action='store_true')
args = parser.parse_args()
f = args.file
a = args.ay
b = args.be
if a:
copyfile(f, f+".a")
elif b:
print("Method B")
if …Run Code Online (Sandbox Code Playgroud) python arguments parameter-passing optional-parameters argparse