我的印象是,可以将任何旧的可执行程序放在cgi-binApache目录中,并将其用作CGI脚本。具体来说,如果我有C#程序
static class TestProg
{
static void Main(string[] args)
{
Console.Write("Content-type: text/plain\r\n\r\n");
Console.WriteLine("Arguments:");
foreach (string arg in args)
Console.WriteLine(arg);
}
}
Run Code Online (Sandbox Code Playgroud)
然后转到,http://example.com/cgi-bin/TestProg?hello=kitty&goodbye=world然后将查询字符串hello=kitty&goodbye=world作为第一个参数传递给main,因此我的页面应如下所示
Arguments:
hello=kitty&goodbye=world
Run Code Online (Sandbox Code Playgroud)
不幸的是,我的查询参数都没有传递。页面加载并且仅打印而后Arguments:没有任何内容。
那么如何将查询参数传递给该程序?
我在Rails应用程序中有一个搜索表单,生成以下HTML
<form action="/users" method="get">
<fieldset>
Search by name:
<input class="text" id="query" name="query" type="text" value="" />
</fieldset>
<input class="submit" src="/images/buttons/search.png?1296324322" type="image" />
</form>
Run Code Online (Sandbox Code Playgroud)
当我提交表单,网址具有x和y除查询参数query一个形式:
http://.../users?query=test&x=8&y=21
Run Code Online (Sandbox Code Playgroud)
这些参数来自哪里?
我正在尝试编写一个带有list参数的查询(即一个参数,它是一个值列表).看来这在Postgres中至少有时是可能的(/sf/answers/758083231/).我想要的是这样的:
rows, err := db.Query("SELECT * FROM table WHERE id in $1", []int{1, 2, 3})
Run Code Online (Sandbox Code Playgroud)
但是,当我使用pq驱动程序执行此操作时,出现错误:
sql: converting Exec argument #0's type: unsupported type []int, a slice
Run Code Online (Sandbox Code Playgroud)
这根本就不支持了pq,或者根本没有支持,或者根本不支持database/sqlPostgres,或者什么?谢谢!
我遇到了一个奇怪的问题,其中$_GET(and $_REQUEST) 变量为空,即使正在传递参数。
我的PHP代码:
echo $_SERVER['REQUEST_URI'];
echo print_r($_REQUEST);
echo print_r($_GET);
Run Code Online (Sandbox Code Playgroud)
输出:
/service/getAllOrders?sortBy=date_created&sortDir=desc
Array()
Array()
Run Code Online (Sandbox Code Playgroud)
我正在使用 nginx 并将所有请求转发到 index.php。我的配置如下:
server {
listen 80;
server_name decaro.localhost;
root /Users/rweiss/Sites/decaro/LocalOrderWebsite;
#access_log /usr/local/etc/nginx/logs/default.access.log main;
location / {
add_header Cache-Control "no-cache, no-store";
include /usr/local/etc/nginx/conf.d/php-fpm;
try_files $uri $uri/ /index.php$args;
}
location /assets/ {
allow all;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
Run Code Online (Sandbox Code Playgroud)
为什么?
我需要在python中将一批参数传递给mysql。这是我的代码:
sql = """ SELECT * from my_table WHERE name IN (%s) AND id=%(Id)s AND puid=%(Puid)s"""
params = {'Id':id,'Puid' : pid}
in_p=', '.join(list(map(lambda x: '%s', names)))
sql = sql %in_p
cursor.execute(sql, names) #todo: add params to sql clause
Run Code Online (Sandbox Code Playgroud)
问题是我想将名称列表传递给 sql IN 子句,同时我还想将 id 和 puid 作为参数传递给 sql 查询子句。我如何在 python 中实现这些?
例如,我有以下 html:
<body>
<script src="code.js?q=xyz"></script>
</body>
Run Code Online (Sandbox Code Playgroud)
我希望能够q=xyz从内部读取查询参数code.js。我试过:
console.log(window.location.href)
Run Code Online (Sandbox Code Playgroud)
但它给了我 html 文档的 URL,而不是code.js的 URL(然后我可以解析查询参数的 URL)。
有没有办法从该 JavaScript 中获取导入的 JavaScript 文件的查询参数?我知道我可以在服务器上读取查询参数,然后发回嵌入了查询参数的 JavaScript,但我不想要那样。我希望能够将 JavaScript 文件放在可以通过查询参数配置的 CDN 上。
javascript script-tag query-parameters location-href html5-history
我可以使用Angular中的查询参数过滤掉数据吗?This.rows是一个数组.我只会显示this.rows,其查询参数为"待定".我将如何使用queryParams过滤掉这个.这是我下面的代码.
// this.rows is an array
this.activeRouter.queryParams
.filter(params => params.q)
.subscribe(params => {
console.log(params);
if(this.rows.status === params.q){
return this.rows;
}
});
Run Code Online (Sandbox Code Playgroud) 是否可以使用 Spring Boot 使用动态名称映射查询参数?我想映射如下参数:
/products?filter[name]=foo
/products?filter[length]=10
/products?filter[width]=5
Run Code Online (Sandbox Code Playgroud)
我可以做这样的事情,但这需要知道每个可能的过滤器,我希望它是动态的:
@RestController
public class ProductsController {
@GetMapping("/products")
public String products(
@RequestParam(name = "filter[name]") String name,
@RequestParam(name = "filter[length]") String length,
@RequestParam(name = "filter[width]") String width
) {
//
}
}
Run Code Online (Sandbox Code Playgroud)
如果可能,我正在寻找允许用户定义任意数量可能的过滤器值的东西,以及那些HashMap被 Spring Boot映射为 a的东西。
@RestController
public class ProductsController {
@GetMapping("/products")
public String products(
@RequestParam(name = "filter[*]") HashMap<String, String> filters
) {
filters.get("name");
filters.get("length");
filters.get("width");
}
}
Run Code Online (Sandbox Code Playgroud)
发布在此问题上的答案建议使用@RequestParam Map<String, String> parameters,但是这将捕获所有查询参数,而不仅仅是那些匹配的filter[*].
我有这个C#webform,它有一个日期选择器框.如果日期设置为空(默认值),我希望它将NULL传递给数据库.这发生在我的参数化查询中.
SqlParameter CMActionDate = new SqlParameter();
CMActionDate.ParameterName = "@ActionDate";
if (ActionDate.Equals(""))
{
CMActionDate.Value = System.Data.SqlTypes.SqlDateTime.Null;
}
else
{
CMActionDate.Value = ActionDate;
}
Run Code Online (Sandbox Code Playgroud)
当我打开调试时,我看到日期确实是"",所以它进入IF语句并将actiondate.value设置为{Null},就像我认为的那样.
然而.
然后当它执行非查询时,我点击放大镜看到这个:
UPDATE table SET [action_date] = '' WHERE [id] = 2488
Run Code Online (Sandbox Code Playgroud)
我想看到的是:
UPDATE table SET [action_date] = 'Null' WHERE [id] = 2488
Run Code Online (Sandbox Code Playgroud)
由于action_date从未真正设置为NULL,因此datetime字段中的值将恢复为"01/01/1900 12:00:00 AM",这本身就很痛苦.
我已经尝试将CMActionDate.Value设置为以下值无效(我得到与上面相同的结果.):
救命.
编辑
也许我不清楚?是的,当然参数化查询如下所示:
"UPDATE CM_Codebase SET [action_date] = '" + @ActionDate + "' WHERE [id] = " + @CM_id + "";
Run Code Online (Sandbox Code Playgroud)
但是当我在VS中调试这个东西时,我在ExecuteNonQuery()之前放了一个断点; 所以我可以看到它试图运行的SQL.在那里,我看到了实际的SQL,并看到action_date =''的位置.
这有帮助吗?
我想知道如何$_GET在python脚本上显示请求()?
请注意,我mod_python用作UBUNTU服务器上运行apache2的基本Web服务器。
如果您有任何想法,将非常感谢您的帮助:)
其他Python网络服务器(例如Django等)...在我的情况下需要注意,因为我仅针对一个特定任务运行一个python脚本:)
query-parameters ×10
python ×2
sql ×2
.net ×1
.net-2.0 ×1
angular ×1
angular6 ×1
apache ×1
c# ×1
cgi-bin ×1
executable ×1
forms ×1
get ×1
go ×1
java ×1
javascript ×1
mod-python ×1
mysql ×1
nginx ×1
php ×1
postgresql ×1
script-tag ×1
spring-boot ×1
wsgi ×1