小编Cha*_*abh的帖子

如何使用ManifoldCF或nutch抓取具有SAML身份验证的网站?

我试图抓取网站,更具体地Google Site使用ManifoldCF具有SAML认证和索引抓取的数据到Apache Solr实现.但是当我抓取URL时,它会让我302重定向到登录页面然后说RESPONSECODENOTINDEXABLE.

我不确定我是否正确认证.在manifoldCF中,我们有HTTP basic身份验证选项NTLM authenticationSession-based访问凭证身份验证方法.我使用的Session based身份验证方法更像是基于表单的身份验证而不是SAML身份验证.

有没有人使用带有SAML身份验证的manifoldCF来抓取网站?如果没有manifoldCF,有人能够通过Apache Nutch实现这一点,因为我担心,它也只提供HTTP基本DigestNTLM身份验证.

任何见解都会有所帮助.如果有人认为可以轻松完成,可以提供有关该问题的更多信息.基本上,当我抓取https://sites.google.com/a/my-sub-domain.com时,它会重定向到SSO登录页面,并且抓取工具拒绝抓取任何更多,从而产生302错误.这是一个基于内联网的网站.

solr nutch saml full-text-indexing manifoldcf

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

委托设计模式在 Swagger 生成代码中的意义?

当我从 swagger yaml 生成代码时Spring,通常使用模式生成控制器层delegate,这样对于单个模型会生成三个文件。例如,如果我Person在 swagger/open API yaml 文件中定义了一个名为的模型,则会生成三个文件:

  1. PersonApi(包含所有人员操作/方法签名的接口)
  2. PersonApiDelegate(提供所有 PersonApi 方法的默认实现的接口。意味着要被覆盖)
  3. PersonApiController(其中引用了 PersonApiDelegate,以便任何实现都可以覆盖并提供自定义实现)

我的问题是,对于熟悉构建基于 swagger/openapi 生成代码的 api 的人来说,拥有这种模式的意义是什么,而不是仅仅使用 PersonController 类公开服务端点,而不是通过 PersonApi 接口,然后PersonApiDelegate 并最终通过 PersonApiController 公开服务?

我们通过这种模式获得的有价值的设计可扩展性是什么?我试图从互联网上的其他资源中查找信息,但在 swagger-first API 开发方法的背景下找不到好的答案。对此的任何见解都会非常有帮助。

java swagger openapi swagger-codegen openapi-generator

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

如何使用Javax.xml.transformer API将XML文档传递给XSL文件?

我正在使用javax.xml.transformAPI来进行XSL转换.API仅允许一个XML文档作为输入应用转换,如下所示.

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    StringWriter stringWriter = new StringWriter();
    File xml = new File("C:\\abc");
    File xsl = new File("C:\\def.xsl");
    factory.setNamespaceAware(true);
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.parse(xml);
    TransformerFactory transformerFactory = 
    TransformerFactory.newInstance();
    StreamSource style = new StreamSource(xsl);
    Transformer transformer = transformerFactory.newTransformer(style);
    DOMSource source = new DOMSource(document);
Run Code Online (Sandbox Code Playgroud)

此外,可以传递简单的字符串参数,如下所示,没有任何问题如下:

transformer.setParameter("mode", "CREATE");
Run Code Online (Sandbox Code Playgroud)

但是,我想将XML Document作为参数传递给XSL文件.我按照SO页面上的建议尝试了下面的代码,如下所示:

DocumentBuilder builder = factory.newDocumentBuilder();
 final Document documentFile = builder.parse(xml2);
 Map<String, Document> docs = new HashMap<String, Document>();
 docs.put("lookup", documentFile);
 transformer.setURIResolver(new DocumentURIResolver(docs));
Run Code Online (Sandbox Code Playgroud)

我设置,XML中的标记接收值如下:

<xsl:variable name="lookup" select="('documentFile')/>  . 
Run Code Online (Sandbox Code Playgroud)

但它不适合我.任何人都可以帮助我通过javax.xml.transform API将多个XML文档传递给任何XSL文件吗? …

java xml transformation xslt-2.0

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

IntelliJ IDE MissingApiTokenError:`snyk` 需要经过身份验证的帐户。请运行 `snyk auth` 并重试

我已经在我的 IntelliJ IDE 上安装了 snyk 漏洞分析插件,但是当我尝试运行分析时,它给出了如下错误:

在此输入图像描述

虽然我知道它要求我为我的 snyk 服务器提供一些身份验证凭据,但我无法理解在 IDE 中的何处提供它。我尝试查看是否可以找到任何选项来从 IDE 工具栏设置 snyk 身份验证,但我找不到任何选项。有谁知道如何解决这个问题?

java intellij-idea intellij-plugin maven snyk

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

APPLICATION_STREAM_JSON_VALUE 和 APPLICATION_NDJSON_VALUE 的区别

在使用 Spring 5 反应式 API 时,我遇到了已弃用的 MediaType APPLICATION_STREAM_JSON_VALUE,当使用它以一种流的方式显示来自 GET REST 端点的值时,它会在值出现在浏览器上时显示它们。但截至今天,文档指出它已被 APPLICATION_NDJSON_VALUE 取代,如文档中的以下文本所示:

APPLICATION_STREAM_JSON_VALUE 已弃用。从 5.3 开始,因为它源自 W3C Activity Streams 规范,该规范具有更具体的目的,并已被不同的 mime 类型替换。使用 APPLICATION_NDJSON 作为替代或任何其他以行分隔的 JSON 格式(例如 JSON 行、JSON 文本序列)。

当我检查 MediaType APPLICATION_NDJSON_VALUE 的行为时,我观察到当在浏览器上使用 GET API 时,结果不是在浏览器上实时流式传输,而是作为文件下载,您可以稍后查看。但这会以任何方式影响流媒体行为还是完全相同?APPLICATION_NDJSON_VALUE 是否也带来了其他一些意义,或者它只是 APPLICATION_STREAM_JSON_VALUE 的纯粹替代品。如果它只是一个替代品,为什么浏览器的流媒体行为会变成 Flux 下载的结果?或者让我知道我在尝试复制确切行为时是否犯了任何错误?

java reactive-programming reactive spring-webflux

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

使用带有 Lombok 注释的 OpenAPI 生成器生成 POJO

我正在使用如下所示的 OpenAPI 生成器 maven 插件来为模型生成 Java 客户端代码。

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>4.3.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/api.yaml</inputSpec>
                <generatorName>java</generatorName>
                <configOptions>
                   <sourceFolder>src/gen/java/main</sourceFolder>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

当 ,我生成模型类时,它们使用通常的 POJO 字段声明以及 getter 和 setter 生成。但我想做的是,而不是生成getter和setter方法,我想我的类与龙目岛标注为Java的POJO以获得更多信息自动生成@Getter@Setter@Data,等有没有一种方法来定制模型生成器,以适应上述用例的要求?

我试图找出是否有办法。我找到了这个讨论,最后一条评论谈到了PR,其中使用 Lombok 注释生成模型的问题已得到解决。但是我在 OpenAPI 生成器开源项目中没有看到任何明确的使用说明或任何关于此功能的文档,说明它尚未实现。那么,今天有没有办法用 Lombok 注释而不是常规的 getter 和 setter 生成模型?

java swagger spring-boot openapi openapi-generator

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

camunda-bpm-spring-boot-starter-webapp dependency not working and embedded tomcat failing

I am trying to create a simple camunda spring boot starter webapp based on examples given here https://github.com/osteinhauer/camunda-spring-boot-starter-examples . My main application class has just this simple piece of code :

@SpringBootApplication
public class StartApp {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
SpringApplication.run(StartApp.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

My pom.xml looks something like this below :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>info.quarrymen.camunda-spring-boot-starter-examples</groupId>
    <artifactId>parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>quick-start-webapp</artifactId>

  <dependencies>
  <dependency>
  <groupId>org.camunda.bpm.extension.springboot</groupId>
  <artifactId>camunda-bpm-spring-boot-starter</artifactId>
  <version>2.3.0-SNAPSHOT</version>
</dependency>
    <dependency>
      <groupId>org.camunda.bpm.extension.springboot</groupId>
      <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId> …
Run Code Online (Sandbox Code Playgroud)

spring business-process-management maven camunda spring-boot

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