小编Cha*_*dan的帖子

如何使用 golang 在多个转发代理之间轮换发出请求

我想传递 POST 请求的转发代理服务器列表

目前我只能使用单个转发代理来完成此操作

serverProxy := "http://user:password@123.45.67.89:3128"

request, error := http.NewRequest("POST", httpposturl, bytes.NewBuffer(requestJSON))
request.Header.Set("Content-Type", "application/json; charset=UTF-8")

proxyURL, _ := url.Parse(serverProxy)
proxy := http.ProxyURL(proxyURL)
transport := &http.Transport{Proxy: proxy}
client := &http.Client{Transport: transport}
Run Code Online (Sandbox Code Playgroud)

我想做的是将列表传递给url.Parse并希望它使用循环平衡来使用它们

所以像这样

serverProxy := "http://user:password@123.45.67.89:3128, http://user:password@223.45.67.89:3128"
Run Code Online (Sandbox Code Playgroud)

然后它将选择要使用的代理服务器并在请求中轮换它们

这可能吗?

更新:

我希望能够像这样传递旋转的代理服务器

proxyServer := roundRobin("http://round:robin@123.45.67.89:3128, http://robin:round@223.45.67.89:3128")
fmt.Println("proxy server used", proxyServer, "\n")
transport := &http.Transport{Proxy: proxyServer}
client := &http.Client{Transport: transport}
Run Code Online (Sandbox Code Playgroud)

proxy post go

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

如何防止导航栏菜单在导航时重新呈现?反应路由器 v4

我正在从 API 服务器获取数据以动态生成 NavBar 菜单。

问题是每次我浏览页面时菜单都会重新呈现。无法弄清楚为什么会这样。我为react-routerv4尝试了不同的例子,比如使用,但菜单总是重新渲染。

动态生成菜单时,您使用什么模式来防止 NavBar 菜单重新呈现?

以下是基本设置文件:

Main.js 文件:

import React from 'react'
import { Route } from 'react-router-dom'
import Home2 from './Home'
import Head from './Head'
import Rules from './Rules'

const Main = () => (
  <main>
    <Route  path='/' component={Head}/>
    <Route exact path='/' component={Home}/>
    <Route exact path='/rules' component={Rules}/>
  </main>
)

export default Main
Run Code Online (Sandbox Code Playgroud)

head.js 文件:

import React, { Component } from 'react'
import Menu from 'semantic-ui-react'

class Head extends Component {
  constructor(props) {
   super(props); …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-router-v4

6
推荐指数
2
解决办法
8844
查看次数

如何在 Formik 提交验证之前清除状态?

我正在使用 Formik 和 yup 验证,遵循以下模式:

const handleSubmit = async (values, { setStatus }) => {
  setStatus(''); // clean errors messages
  try {
    ... do submit work ...
      const res = await sendData( convertValues(values)); //
    ... more work
  } catch (e) {
    console.error(e);
    setStatus('an error occurred '...);
  }
};

const validationSchema = Yup.object({
  code: Yup.string().required(t('Required')),
  ....
});

return (
    <Formik onSubmit={handleSubmit} initialValues={initialValues} validationSchema={validationSchema}>
      {({ setFieldValue, status }) => (
        <Form>
          ....
          <MyErrorComponent msg={status} />
        </Form>
      )}
    </Formik>
);
Run Code Online (Sandbox Code Playgroud)

这在这种情况下有问题:

  1. 用户提交表单。验证通过,但内部出现一些错误handleSubmit …

reactjs formik

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

如何更改ArrayNode中的元素值

我有这个文件(example.json):

{
    "messages" : [ "msg 1", "msg 2", "msg 3" ],
}
Run Code Online (Sandbox Code Playgroud)

然后我创建一个JsonNode这样的:

BufferedReader fileReader = new BufferedReader(new FileReader("example.json"));
JsonNode rootNode = mapper.readTree(fileReader);
Run Code Online (Sandbox Code Playgroud)

如何将数组元素值从“msg 1”更改为“msg 1A”而不删除元素并添加值为“msg 1A”的新元素?

java json jackson

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

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

Rust egui 窗口大小和深色模式

我正在尝试使用 egui 制作一个本机 GUI 应用程序。一段时间后,编译了hello_world 示例
代码如下:

use eframe::{epi, egui};

struct MyEguiApp {
    name: String,
    age: u32,
}

impl Default for MyEguiApp {
    fn default() -> Self {
        Self {
            name: "Arthur".to_owned(),
            age: 42,
        }
    }
}

impl epi::App for MyEguiApp {
   fn name(&self) -> &str {
       "Test"
   }

    fn update(&mut self, ctx: &egui::Context, frame: &epi::Frame) {
        egui::CentralPanel::default().show(ctx, |ui| {
            ui.heading("My egui aplication");
            ui.horizontal(|ui|{
                ui.label("Your name: ");
                ui.text_edit_singleline(&mut self.name);
            });
            ui.add(egui::Slider::new(&mut self.age,0..=120));
            if ui.button("Click each year").clicked() {
                self.age …
Run Code Online (Sandbox Code Playgroud)

user-interface rust egui

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

MySql 对 Json 列的支持

Json在 MySql 中有一个类型列,我正在使用带有 Slick 的 Scala。我如何Json通过 Slick为Column提供支持。

class SampleTable(tag: Tag) extends Table[(String, ??)](tag, "test")  {

  override def * : ProvenShape[NodeReference] = (name, data)

  def name: Rep[String] = column[String]("name", O.PrimaryKey)
  def Data: Rep[??] = column[??]("data", O.PrimaryKey)

}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。提前致谢

mysql scala slick play-slick slick-3.0

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

使用apollo客户端在react.js中上传文件

我试图将文件上传到我的 apollo 服务器,但我无法上传任何文件,也不会引发任何错误,但我在解析器中只收到空对象,当我使用像Altair 这样的GraphQL客户端时,它可以正常工作

使用 Altair 客户端时在服务器中输出

{
    filename: 'Copy of Massive Orange Summer Sale Animated-300x250px-MediumRectangle.png',
    mimetype: 'image/png',
    encoding: '7bit',
    createReadStream: [Function: createReadStream]
}
Run Code Online (Sandbox Code Playgroud)

使用 @apollo/client 包时服务器中的输出

{}
Run Code Online (Sandbox Code Playgroud)

客户代码

客户代码

服务器代码

服务器代码

apollo reactjs graphql apollo-server react-apollo

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

使用 php 下载数千张图像,如何绕过空白图像

我有一个 php 文件,它正在创建我要下载的图像的 url 路径列表。目前,我刚刚创建一个列表,将其复制并粘贴到桌面应用程序中,该应用程序将通过 txt 文件中的 url 列表下载图像。我想继续将下载添加到 php 文件中以绕过当前步骤。

目前,以下内容生成我用来复制并粘贴到桌面下载应用程序的网址列表

foreach ($espn_ar as $key => $value) echo 'ht'.'tps://a.espncdn.com/i/headshots/nfl/players/full/'.$espn_ar[$key].'.png<br>';
Run Code Online (Sandbox Code Playgroud)

生成的列表如下所示,包含大约 2500 个 url 路径

https://a.espncdn.com/i/headshots/nfl/players/full/2580.png
https://a.espncdn.com/i/headshots/nfl/players/full/2330.png
https://a.espncdn.com/i/headshots/nfl/players/full/2977742.png
https://a.espncdn.com/i/headshots/nfl/players/full/5528.png
https://a.espncdn.com/i/headshots/nfl/players/full/5529.png
https://a.espncdn.com/i/headshots/nfl/players/full/5536.png
https://a.espncdn.com/i/headshots/nfl/players/full/5713.png
https://a.espncdn.com/i/headshots/nfl/players/full/8439.png
https://a.espncdn.com/i/headshots/nfl/players/full/8461.png
https://a.espncdn.com/i/headshots/nfl/players/full/8479.png
Run Code Online (Sandbox Code Playgroud)

为了绕过复制和粘贴到桌面应用程序的步骤,我添加了以下内容

foreach ($espn_ar as $key => $value) {
    $url = 'ht' . 'tps://a.espncdn.com/i/headshots/nfl/players/full/' . $espn_ar[$key] . '.png';
    $img = 'images/' . $espn_ar[$key] . '.png';
    $ch = curl_init($url);
    $fp = fopen($img, 'wb');
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
}
Run Code Online (Sandbox Code Playgroud)

这似乎可以将所有图像下载到名为“images”的目录设置中

问题 1 - …

php

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

Flutter网络图片延迟加载

我有一些疑问。如何从 Firebase 数据库(如 Instagram)延迟加载视频或照片?我正在使用NetworkImage()小部件。

这里的例子

flutter flutter-layout

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